我想在WPF中开发一个Steganography软件,所以我需要直接访问像素,我试图将Bitmap转换为数组并编辑它,问题是我只能通过BitmapSource重新创建它(我是对的? )我无法正确地重新创建它。我得到一张黑白图像。
public static void Conceal(BitmapImage CoverPhotoBitmap, BitmapImage HiddenPhotoBitmap, ref BitmapSource ResultPhotoBitmapSource)
{
int stride = CoverPhotoBitmap.PixelWidth * 4;
int size = CoverPhotoBitmap.PixelHeight * stride;
byte[] CoverPhotoPixels = new byte[size];
CoverPhotoBitmap.CopyPixels(CoverPhotoPixels, stride, 0);
byte[] HiddenPhotoPixels = new byte[size];
HiddenPhotoBitmap.CopyPixels(HiddenPhotoPixels, stride, 0);
ResultPhotoBitmapSource = BitmapSource.Create(CoverPhotoBitmap.PixelWidth, CoverPhotoBitmap.PixelHeight, 96, 96, PixelFormats.Rgb32, null, HiddenPhotoPixels, stride);
}
答案 0 :(得分:0)
您可以将结果BitmapSource
转换为BitmapImage
。检查此问题的答案:BitmapSource to BitmapImage。
虽然答案适用,但不是标记为重复,因为它不是同一个问题。