C#图像放大问题解决方法

王朝c#·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

最近在写工具的时候发现了一个很恶心的问题,当用DrawImage做图像放大的时候C#的默认放大算法不是NearestNeighbor算法,而Java Swing的drawImage放大算法默认为NearestNeighbor算法,解决方法是:

g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.NearestNeighbor;

本以为这样就解决问题了,结果放大出来的图像左上顶点还少了半个像素,也就是说如果放大图像是8倍的话,那么放大图像的宽高各少4个像素,不知道C#为什么这样做,据说是因为浮点与整形的舍入问题造成的,果真没有Java方便啊,解决方法是:

g.PixelOffsetMode = System.Drawing.Drawing2D.PixelOffsetMode.Half;

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航