【发布时间】:2023-03-22 05:32:01
【问题描述】:
我将用户图片保存为硬盘上的文件。 (不在数据库中)。
我会得到这个 *.jpg 文件的高度和宽度,怎么做?
(背景:我必须计算高度和宽度之间的比率,以使其达到指定的高度和宽度而不拉伸它)。
【问题讨论】:
-
您是否要直接读取标题?或者您可以将图像加载到内存中吗?
我将用户图片保存为硬盘上的文件。 (不在数据库中)。
我会得到这个 *.jpg 文件的高度和宽度,怎么做?
(背景:我必须计算高度和宽度之间的比率,以使其达到指定的高度和宽度而不拉伸它)。
【问题讨论】:
我认为还值得一提的是 System.Drawing.Image 实现了 IDisposable,因此您应该始终使用 using 语句或在对象上调用 Dispose() 方法以确保您正在释放任何非托管系统资源。示例:
using (Image img = System.Drawing.Image.FromFile(path))
{
int height = img.Height;
int width = img.Width;
}
【讨论】:
许多格式支持带有该信息的标题,但其他格式不支持 so...
Image img = System.Drawing.Image.FromFile(path);
int height = img.Height;
int width = img.Width;
【讨论】:
使用 System.Drawing.Bitmap 类的 FromFile 静态方法来加载图像。返回的 Bitmap 实例具有 Width 和 Height 属性。或者,您还可以构造一个新的位图,将字符串路径作为构造函数参数传递给图像文件。
【讨论】: