在我们的应用程序中,可以使用不同的文件格式创建图像,如PNG,BMP,JPEG等。 现在我正在研究创建图元文件图像(.emf)的可能性。 通过我们的图表,我可以使用它,因为我们正在使用微软图表库,并且可以使用.emf格式导出图表。
(ChartImageFormat.EmfDual);
我们还创建了地图,这就是出错的地方。当我使用Bitmap创建图形时,图形元素有一个有用的visibleClipbounds。
var image = new Bitmap(Width, Height);
using (var graphics = Graphics.FromImage(image))
{
//visibleClipbounds: {X = 0 Y = 0 Width = 1241 Height = 774}
}
当我使用元文件创建图形对象时,VisibleClipbounds是巨大的......
Graphics refG = Graphics.FromHwndInternal(IntPtr.Zero);
IntPtr refGrap = refG.GetHdc();
Metafile m = new Metafile(refGrap, EmfType.EmfPlusDual, "...");
using (var graphics = Graphics.FromImage(m))
{
//visibleClipbounds: {X = -4194304 Y = -4194304 Width = 8388608 Height = 8388608}
}
有没有办法可以使用元文件创建图形元素,但保持visibleClipbounds的方式与使用Bitmap创建图形元素的方式相同?