我有一个EMF文件。 我想调整它的大小更小。
我怎么没有得到一个模糊的图像为此在.NET(或与任何工具)?
产生的调整后的图像转换为另一种格式(PNG / JPG /其他),我能处理的(我认为)。
我还没有发现在.net中一个明显的例子(或为此事的任何语言平台),与EMF /图元文件的交易。
我看着在图形编程使用GDI +,但只介绍图元文件。
我试过难懂的,但你必须转换为另一种格式(我需要做反正),其结果是模糊的(缩小,转换为PNG例如,当)。
我试过Inkscape的,但你只能导入EMF文件和Inkscape的进口倒置并不成比例到现有的图纸。
另外,(不要笑)我在窗口的油漆和调整绘图(少数图像编辑软件程序将打开电动势之一)打开它,又是模糊的。
更新:这是我用来调整代码。
这工作,但产生的图像模糊。 该代码仅仅是一个普通的图像尺寸调整程序,而不是具体到EMF的
private static Image resizeImage(Image imgToResize, Size size)
{
int sourceWidth = imgToResize.Width;
int sourceHeight = imgToResize.Height;
float nPercent = 0;
float nPercentW = 0;
float nPercentH = 0;
nPercentW = ((float)size.Width / (float)sourceWidth);
nPercentH = ((float)size.Height / (float)sourceHeight);
if (nPercentH < nPercentW)
nPercent = nPercentH;
else
nPercent = nPercentW;
int destWidth = (int)(sourceWidth * nPercent);
int destHeight = (int)(sourceHeight * nPercent);
Bitmap b = new Bitmap(destWidth, destHeight);
Graphics g = Graphics.FromImage((Image)b);
g.InterpolationMode = InterpolationMode.HighQualityBicubic;
g.DrawImage(imgToResize, 0, 0, destWidth, destHeight);
g.Dispose();
return (Image)b;
}
来源: http://www.switchonthecode.com/tutorials/csharp-tutorial-image-editing-saving-cropping-and-resizing