c# - 如何在不更改 C#.Net 中的分辨率的情况下裁剪图像?

标签 c# .net image resolution crop

我做了一个小程序来分割大图片并拍摄一部分。 当我导入由“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/

相关文章:

asp.net - VS2008 和 VS2010 Express 中缺少附加到进程

c# - 将 MFC COM 服务器移植到托管代码的最佳方式

.net - 如何在部分信任环境(无 FileIOPermission)中访问我的程序集版本号

image - (OpenCV)前景和背景颜色相似的图像分割?

c# - 有没有办法缩短这么长的 if/else if return 方法?

c# - Asp.net MVC 5 - 查看将空数据发布到 Controller

javascript - Canvas 图像到图像文件

php - 如何在 2 点 php 之间居中文本?

c# - 如何在不创建本地文件的情况下使用 OpenXML 创建 Excel 文件?

c# - 相当于 Actions 和 Func 的 Tuple.Create