我要做的是以更高的分辨率保存图像,因此它的大小足以用于在A3尺寸的纸张上打印,
我从资源中使用的原始图像是2344 x 2383像素(164kb), 放置在画布上的图像为555 x 555,
我想知道有没有办法从画布中保存这个图像,但是在更大的尺寸上,我需要它更接近原始图像尺寸,
这是我目前的代码,
按钮点击事件
public static class ImageCapturer
{
public static void SaveToBmp(FrameworkElement visual, string fileName)
{
var bitmapEncoder = new BmpBitmapEncoder();
SaveUsingEncoder(visual, fileName, bitmapEncoder);
}
public static void SaveToPng(FrameworkElement visual, string fileName)
{
var pngBitmapEncoder = new PngBitmapEncoder();
SaveUsingEncoder(visual, fileName, pngBitmapEncoder);
}
private static void SaveUsingEncoder(FrameworkElement visual, string fileName, BitmapEncoder encoder)
{
var renderTargetBitmap = new RenderTargetBitmap((int)visual.ActualWidth, (int)visual.ActualHeight, 92, 92, PixelFormats.Pbgra32);
renderTargetBitmap.Render(visual);
var crop = new CroppedBitmap(renderTargetBitmap, new Int32Rect(575, 60, 555, 550));
var bitmapFrame = BitmapFrame.Create(renderTargetBitmap);
encoder.Frames.Add(BitmapFrame.Create(crop));
using (var fileStream = new FileStream(fileName, FileMode.OpenOrCreate))
{
encoder.Save(fileStream);
}
}
}
如果有人可以请给我一些建议,我将不胜感激, 这已经很久了,
如果我更改DPI,图像会变大,但我只会看到原始图像的一角,
请查看这些图片以供参考,
目前的图片是: https://www.dropbox.com/s/58k5nm1lozp2r0c/BSM_Power_Wheel.png?dl=0 但它太小了@ 555 x 555
将dpi从92更改为150后的图像: https://www.dropbox.com/s/zgkwwd0scs9giz8/BSM_Power_Wheeldgdd.png?dl=0
谢谢:)