我做了一个小程序来分割大图,并把它们的一部分。当我导入由“Microsoft Paint”制作的图像时,这个图像是“96 dpi”,所以我的程序运行良好。
但是我有由 Photoshop 制作的图片,当我裁剪这些图片时,其分辨率为 71.6 dpi,新裁剪的图片采用 96 dpi 分辨率,因此它们之间的大小有所不同。
我想裁剪图片并保持其分辨率。
.
非常感谢您
我做了一个小程序来分割大图,并把它们的一部分。当我导入由“Microsoft Paint”制作的图像时,这个图像是“96 dpi”,所以我的程序运行良好。
但是我有由 Photoshop 制作的图片,当我裁剪这些图片时,其分辨率为 71.6 dpi,新裁剪的图片采用 96 dpi 分辨率,因此它们之间的大小有所不同。
.
非常感谢您
Bitmap.clone
允许您创建图像的裁剪副本,然后可以保存。它不应该改变分辨率或任何东西(如果您在图像较小时放大更多的程序中打开图像,图像会看起来更大)。它不能用于扩展画布(您会出现内存不足错误)。因此,只需Image
从文件中获取一个,转换为Bitmap
, (system.drawing
命名空间)并将其克隆为更小,然后保存。
例子:
using System.Drawing;
//...
Bitmap x = (Bitmap) Image.FromFile(@"c:\tmp\food.png");
Image x2 = x.Clone(new Rectangle(25, 25, 50, 50), x.PixelFormat);
x2.Save(@"c:\tmp\food2.png");
DPI(每英寸点数)只是像素大小和介质大小之间的关系。如果您的图像为 1024 x 768 像素,则为 1024 x 768。位图/二进制文件没有固有的 DPI。
例如,如果您想在以 300 dpi 打印的打印机上打印该图像,那么您可以计算纸张上的尺寸。
Bitmap 类的 SetResolution() 方法允许您指定图像的分辨率。
请参阅http://msdn.microsoft.com/en-us/library/system.drawing.bitmap.setresolution.aspx