具有PictureBox
且放大源图像的SizeMode.Zoom
在底部和右边添加白色。任何人都有一个简单的经过验证的解决方法?我相信这个bug是在GDI +中所以明显的自定义重绘不会修复它。目前我正在使用我想要避免的WPF。
我甚至会选择用黑色替换坏白色的kluge:)
示例:来自具有单个中心白色像素的源,而不是:
它给出了这个:
代码是:
private void PictureBoxZoomBug()
{
BitmapSource bitmapSource =
BitmapSource.Create(3, 3, 96, 96, System.Windows.Media.PixelFormats.Gray8, null,
new byte[] { 0, 0, 0, 0, 0xFF, 0, 0, 0, 0 }, 3);
TestDiscamImage.Source = bitmapSource; // OK
Bitmap bitmap;
using (MemoryStream stream = new MemoryStream())
{
PngBitmapEncoder enc = new PngBitmapEncoder();
enc.Frames.Add(BitmapFrame.Create(bitmapSource));
enc.Save(stream);
bitmap = new System.Drawing.Bitmap(stream);
}
TestDiscamCapture_pictureBox.Image = bitmap; // Extra white at bottom and right
}
由于