NetSkycn.Drawing/ImageZoom.cs
(开头部分) 4KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using System;
using System.Drawing;
using System.Collections.Generic;
using System.Text;
namespace NetSkycn.Drawing
{
/// <summary>
/// 提供图片缩放方面的方法
/// </summary>
public sealed class ImageZoom
{
private ImageZoom()
{
}
/// <summary>
/// 返回不大于指定尺寸的最合适大小的图片
/// </summary>
/// <param name="sourceImage">原图片</param>
/// <param name="width">新图片宽度,以像素为单位</param>
/// <param name="height">新图片高度,以像素为单位</param>
/// <param name="keepRate">是否保持与原图片一致的宽高比</param>
/// <returns></returns>
public static Image Zoom(Image sourceImage, int width, int height, bool keepRate)
{
if (keepRate)//是否保持与原图片一致的宽高比
{
double sourceWHRate = (double)sourceImage.Width / sourceImage.Height;//原图片宽高比
int tempWidth = (int)(height * sourceWHRate);//
if (tempWidth <= width)
{
width = tempWidth;
}
else
{
int tempHeight = (int)(width / sourceWHRate);
height = tempHeight;
}
}
Image image = new Bitmap(width, height);
Graphics g = Graphics.FromImage(image);
g.DrawImage(sourceImage, 0, 0);
g.Dispose();
return image;
}
/// <summary>
/// 返回不大于指定尺寸的最合适大小的图片
/// </summary>
/// <param name="sourceImage">原图片</param>
/// <param name="targetSize">目标尺寸</param>
/// <param name="keepRate">是否保持与原图片一致的宽高比</param>
/// <returns></returns>
public static Image Zoom(Image sourceImage, Size targetSize, bool keepRate)
{
return Zoom(sourceImage, targetSize.Width, targetSize.Height, keepRate);
}
/// <summary>
/// 返回不大于指定尺寸的最合适大小的图片
/// </summary>
/// <param name="sourceImage">原始图片</param>
后面还有 46 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。