2012-04-13 2 views
0

알아요, 알아요. 다른 많은 게시물이 있습니다. 나는 내가 찾던 것을 찾지 못해 계속 나아가 자. 내가 비록 (비트 맵 생성자에서 매개 변수가 올바르지 않습니다.

[...]new Bitmap((Image)Image.FromFile(imagePath))[...] 


Image.FromFile(imagePath) 성공적으로 이미지를 반환

나는 때때로 나에게이 라인에 Parameter is not valid error을 제공, 이미지로 PDF는 비트 맵에 각 이미지를로드하려고 다음 this GhostScript implementation for C#을 사용하고 휴식 그것이 비트 맵을 반환하고 있다고 생각하지만) 비트 맵의 ​​생성자가 나에게 오류를 준다. 내가 도대체 ​​뭘 잘못하고있는 겁니까?

P.
Image.FromFile (...) 결과를 System.Drawing.Bitmap으로 보여주기 때문에 결과를 Image으로 캐스팅합니다 (어느 쪽이든, 캐스트, 캐스트하지 않은 경우 같은 결과가 나타남) . 당신이 파일에서로드 비트 맵에서 새 비트 맵을 작성하는 경우

Bitmap b = (Bitmap)Image.FromFile(imagePath); 

:

+1

당신이 Image.FromFile 실제로 뭔가를로드 확신 : – Jaime

+0

제안 된대로 Bitmap 생성자를 사용했는데 정상적으로 작동하는 것 같습니다. 다른 사소한 버그를 수정하고 다시 테스트 할 것입니다. – PedroC88

+0

답변을 작성하십시오. – PedroC88

답변

2

은과 같이 이미지의 경로를 수신 비트 맵 생성자를 사용해보십시오? .net의 어떤 버전을 사용하고 있습니까? `새로운 비트 맵 (imagePath)`을 그냥 써 보셨습니까? Bitmap에 패스를 사용하는 생성자가 있습니다.
3

당신은 당신이 이미 가지고있는 비트 맵에 대한 참조를 캐스팅, 비트 맵에서 새 비트 맵을 작성해서는 안 ,로드 한 비트 맵에 대한 참조를 얻지 못합니다. 해당 비트 맵을 처리 할 수 ​​없으므로 가비지 수집기가 종료 할 수 있도록 남겨두고 충분히 빠르게 수행되지 않으면 메모리가 부족할 수 있습니다.

var b = new Bitmap(imagePath);