Copiar do BitmapSource para o WritableBitmap
Estou tentando copiar uma parte de um BitmapSource para um WritableBitma
Este é o meu código até agora:
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();
Eu recebo "ArgumentException: o valor não cai dentro do intervalo esperado." na linha deCopyPixels
.
Eu tentei trocarrow.PixelHeight * row.BackBufferStride
comrow.PixelHeight * row.PixelWidth
, mas recebo um erro dizendo que o valor é muito baixo.
Não foi possível encontrar um exemplo de código único usando essa sobrecarga deCopyPixels
, então estou pedindo ajuda.
Obrigado