C# Bitmap Save Generic GDI+ Error

5259 단어 generic

Image.Save 메서드(String)


Image 를 지정된 파일 또는 흐름에 저장합니다.
네임스페이스:
System.Drawing
프로그램 집합: 시스템.Drawing(System.Drawing.dll에서)
public void Save(

	string filename

)


매개 변수


filename
유형:
System.String
Image 를 저장할 파일의 이름을 포함하는 문자열.
이상
이상
조건
ArgumentNullException
filename은null...
ExternalException
이미지가 잘못된 이미지 형식으로 저장됩니다. -또는 - 이미지가 생성된 파일에 저장됩니다.
비고
이미지의 파일 형식 인코더가 없는 경우 PNG(마이그레이션 가능 네트워크 그래픽) 인코더를 사용합니다.Save 방법으로 그래픽 이미지를 Windows 엔티티 파일 형식(WMF) 또는 Enhanced 엔티티 파일 형식(EMF) 파일로 저장하면 결과 파일은 이식 가능한 네트워크 그래픽(PNG) 파일로 저장됩니다.이 행위가 발생한 것은.NET Framework의 GDI+ 구성 요소는 파일을 다른 이름으로 저장할 수 없습니다.wmf 또는.emf 파일의 인코더입니다.
이미지를 구성하는 파일에 저장할 수 없습니다. 그러면 이상이 발생합니다.
Reference: http://www.codeproject.com/Questions/52709/C-Bitmap-Save-Generic-GDI-Error
이 홈페이지에는 왜 이런 문제가 발생했는지, 어떻게 해결했는지 설명되어 있다.
Refernence: 

GDI+에서 일반 오류 발생


Bitmap 구조 함수
네임스페이스: System.Drawing 프로그램 집합: System.Drawing(System.Drawing.dll에서)
1. 지정된 기존 이미지에서 클래스 Bitmap 를 초기화합니다.
public Bitmap(

	Image original

)


매개 변수


original
유형:
System.Drawing.Image
에서 새 BitmapImage 를 생성합니다.
2. 지정한 파일에서 Bitmap 클래스를 초기화하는 새로운 실례.
public Bitmap(

	string filename

)


매개 변수


filename
유형:
System.String
비트맵 파일의 이름과 경로입니다.
이상
이상
조건
FileNotFoundException
지정한 파일을 찾을 수 없습니다.
비고
파일 이름과 경로는 응용 프로그램에 대한 경로 또는 절대 경로일 수 있습니다.이 구조 함수를 사용하여 BMP, GIF, EXIF, JPG, PNG 및 TIFF 파일 형식의 이미지를 엽니다.지원되는 형식에 대한 자세한 내용은 비트맵 유형 을 참조하십시오.이 파일은 해제 Bitmap 전까지 잠금 상태로 유지됩니다.
 
Image.FromFile을 사용하면 해당 파일이 생성된 Image 객체를 Disponse로 호출하기 전까지 잠금이 해제되지 않습니다. 이로 인해 문제가 발생했습니다. 이 도면이 잠금이 해제되기 전에 이미지를 조작할 수 없습니다(예를 들어 삭제, 수정 등).
 
예제 코드
 

Bitmap bmp = new Bitmap("1.bmp");

bmp.save("1.bmp");   // “GDI+ ”



 

Image img = Image.FomFile("1.bmp");

  Bitmap img = new Bitmap("1.bmp");

Bitmap bmp = new Bitmap(img)

img.Dispose();

bmp.save("1.bmp"); // 



 : , ,   1.bmp , new Bitmap(img) , 。img.Dispose 1.bmp 。


reference: Image.FromFile 메서드가 파일을 잠그는 이유 및 가능한 해결 방법

좋은 웹페이지 즐겨찾기