2012-06-26 1 views
11

을 사용하여 파일에 내가 가진 :저장 WriteableBitmap는 WPF

WriteableBitmap bmp; 

내가 basicly 같은 디스크에 파일로 저장하려면 다음

C:\bmp.png 

나는 읽을 언급 일부 포럼을 읽고 하십시오 Bitmap

bmp.Pixels 

저장해 해당 픽셀은 Bitmap.SaveImage() 함수를 사용한다. 그러나 Pixels에 액세스 할 수 없습니다. Apperantly 내 WriteableBitmap에는 Pixels이라는 속성이 없습니다.

.NET Framework 4.0을 사용합니다.

+0

그냥'WriteableBitmap.Pixels' 실버 라이트의 한 속성입니다 언급하고자합니다. WPF- –

+0

에서 사용할 수 없습니다. @AndersGustafsson 주석 주셔서 감사합니다. 나는 그것을 알지 못했다. 건배. – Sait

답변

27

는 WriteableBitmap의 복제를 사용하여 다음과 같이이 기능을 사용

CreateThumbnail(filename, _frontBitmap.Clone()); 

...

void CreateThumbnail(string filename, BitmapSource image5) 
{ 
    if (filename != string.Empty) 
    { 
     using (FileStream stream5 = new FileStream(filename, FileMode.Create)) 
     { 
      PngBitmapEncoder encoder5 = new PngBitmapEncoder(); 
      encoder5.Frames.Add(BitmapFrame.Create(image5)); 
      encoder5.Save(stream5); 
     } 
    } 
} 
+0

정말 고마워. – Sait

+1

'stream.Close()'를 실제로 호출해야합니까? 그걸 자동으로 처리하지 않습니까? –