这是一个用于调整图像大小的方法ResizeImage
:
- 主要观点:接收原始文件路径、新文件路径、新宽度、最大高度和一个布尔值
OnlyResizeIfWider
作为参数,用于调整图像大小并保存。 关键信息:
- 通过
System.Drawing.Image.FromFile(OriginalFile)
获取原始图像FullsizeImage
。 - 先将图像旋转 180 度两次以防止使用内部缩略图。
- 根据
OnlyResizeIfWider
的值判断是否仅在图像更宽时进行调整。如果是,且图像高度大于最大高度,则根据宽度和高度比例计算新宽度。 - 使用
FullsizeImage.GetThumbnailImage(NewWidth, NewHeight, null, IntPtr.Zero)
获取调整大小后的图像NewImage
。 - 释放原始图像的句柄以避免资源占用,通过
FullsizeImage.Dispose()
。 - 最后使用
NewImage.Save(NewFile)
保存调整大小后的图像。
- 通过
- 重要细节:在调整大小过程中,根据给定的条件计算新的宽度和高度,以确保图像在不超过最大高度的情况下进行调整。如果只需要在图像更宽时调整大小,并且图像高度超过最大高度,将根据宽度和高度比例计算新宽度,并将新高度设置为最大高度。调整大小后的图像通过
GetThumbnailImage
方法获取,然后保存到新文件中。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。