0
votes

I tried to blit two writeablebitmap. However, the debugger prompted a error message stating the followings:

The input WriteableBitmap needs to have the Pbgra32 pixel format. Use the BitmapFactory.ConvertToPbgra32Format method to automatically convert any input BitmapSource ?to the right format accepted by this class.

Here is my code.

Rect cRect =new (320,240);
WriteableBitmap _bitmap = new WriteableBitmap(320, 240, 96, 96, PixelFormats.Bgr32, null);
_bitmap.WritePixels(new Int32Rect(0, 0, 320, 240), _image, 320*240, 0);    //_image is a image stream                  
_bitmap.Blit(cRect, _imageFrame, cRect); //_imageFrame is another writeablebitmap

Actually _imageFrame is a WriteableBitmap from a canvas which will change its content at regular time. Is there a more effective way to blit a writeablebitmap and a canvas?

1
On which line are you getting this exception? - jordanhill123
You asked the exact same question also here: writeablebitmapex.codeplex.com/discussions/440730 And the error message really says what you should do. - Rene Schulte

1 Answers

0
votes

Can you change to this line:

WriteableBitmap _bitmap = new WriteableBitmap(320, 240, 96, 96, PixelFormats.Pbgra32, null);

and something similiar on the _imageFrame WriteableBitmap