转自:http://zhidao.baidu.com/link?url=Rc1S974ka35Sgc9aeEhbNlUP7BqWkqqhfSAizBk64J8bmgyYvmIkRQE8eMjz-5i61lasNPOA3YbL4J5_hd2Vc_
C# 72dpi的图片怎么转换为300dpi,要求图片无损,不仅仅是修改下图片的dpi参数就好了。修改后的图片大小应该和原图片大小一样,但是尺寸会变小。类似于在ps中图像大小更改里的取消重定图像像素,更改dpi的方法
2010-08-30 13:47
提问者采纳
if (this.pbMain.Image.VerticalResolution <200||this.pbMain.Image.HorizontalResolution < 200) { //System.Drawing.Image img = System.Drawing.Image.FromHbitmap(((Bitmap)this.images[0]).GetHbitmap()); //float x = img.VerticalResolution; //float y = img.HorizontalResolution; int width = ((Bitmap)this.images[0]).Width; int height = ((Bitmap)this.images[0]).Height; if (height > width) { height = 2338; width = 1653; } else if (width > height) { height = 1653; width = 2338; } Bitmap bmpSource = new Bitmap(((Bitmap)this.images[0]), width, height); //Bitmap bmpSource = new Bitmap(((Bitmap)this.images[0])); int iSourceWidth = bmpSource.Width; int iSourceHeight = bmpSource.Height; float fSourceHorResolution = bmpSource.HorizontalResolution; float fSourceVerResolution = bmpSource.VerticalResolution; //图象dpi float fTargetHorResolution = 200; float fTargetVerResolution = 200; Bitmap bmpTarget = new Bitmap(width, height); Graphics g = Graphics.FromImage(bmpTarget); g.DrawImage(bmpSource, 0, 0, iSourceWidth, iSourceHeight); bmpTarget.SetResolution(fTargetHorResolution, fTargetVerResolution); bmpTarget = TiffManager.KiSharpen(bmpTarget, (float)0.7); bmpTarget = TiffManager.ConvertTo1bbpIndexed(bmpTarget, (float)0.8); bmpTarget.Save(filename, info, ep); } 这个是网上看到的一些代码,希望对你有用。。。参考看看