我在我的MetaFile中画了一条简单的线如下:
var g = CreateGraphics();
var img = new Metafile(path, g.GetHdc());
var ig = Graphics.FromImage(img);
ig.DrawLine(new Pen(Color.Black, 2), 0, 0, 300, 0);因此,我试图将这个metaFile保存为png结构,如下所示:
var target = new Bitmap(200, 100);
var g2 = Graphics.FromImage(target);
g2.DrawImage(source,0,0);// source is my MetaFile但这条线并不在图像的左上角:(为什么和如何做到这一点?
发布于 2014-11-28 03:49:19
谢谢你,我发现我的独白是:
var img = new Metafile(path, g.GetHdc(), new Rectangle(0, 0, 101, 101), MetafileFrameUnit.Pixel); 发布于 2014-11-26 02:28:02
尝试在将代码保存到图像之前先处理代码中使用的Graphics类:
using( Graphics graphics = Graphics.FromImage( metafile ) )
{
graphics.DrawLine(new Pen(Color.Black, 2), 0, 0, 300, 0);
} // right here in this point, the 'using' keyword launches graphics.Dispose(),
// which is very importante when using graphicshttps://stackoverflow.com/questions/27140288
复制相似问题