我做了一个小程序来分割大图片并拍摄一部分。 当我导入由“Microsoft Paint”制作的图像时,该图像为“96 dpi”,所以我的程序运行良好。
但我有 Photoshop 制作的图片,当我裁剪这些图片时,其分辨率为 71.6 dpi,新裁剪的图片采用 96 dpi 分辨率,因此它们之间的尺寸是不同的。
我想在保持分辨率不变的情况下裁剪图片。
.
非常感谢
最佳答案
Bitmap.clone
可让您创建图像的裁剪副本,然后您可以保存该副本。它不应该改变分辨率或任何东西(如果您在图像较小时放大更多的程序中打开它,图像看起来会更大)。它不能用于扩展 Canvas (你会得到内存不足的错误)。所以,只需从文件中抓取一个 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");
关于c# - 如何在不更改 C#.Net 中的分辨率的情况下裁剪图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/857147/