Copiando desde BitmapSource a WritableBitmap
stoy tratando de copiar una parte de BitmapSource en un WritableBitmap.
Este es mi código hasta ahora:
var bmp = image.Source as BitmapSource;
var row = new WriteableBitmap(bmp.PixelWidth, bottom - top, bmp.DpiX, bmp.DpiY, bmp.Format, bmp.Palette);
row.Lock();
bmp.CopyPixels(new Int32Rect(top, 0, bmp.PixelWidth, bottom - top), row.BackBuffer, row.PixelHeight * row.BackBufferStride, row.BackBufferStride);
row.AddDirtyRect(new Int32Rect(0, 0, row.PixelWidth, row.PixelHeight));
row.Unlock();
Me sale "ArgumentException: el valor no se encuentra dentro del rango esperado". en la línea deCopyPixels
.
Intenté intercambiarrow.PixelHeight * row.BackBufferStride
conrow.PixelHeight * row.PixelWidth
, pero aparece un error que dice que el valor es demasiado bajo.
No pude encontrar un solo ejemplo de código usando esta sobrecarga deCopyPixels
, así que estoy pidiendo ayuda.
¡Gracias