Yuebon.NetCore/Yuebon.Commons/Helpers/ImgHelper.cs
(开头部分) 5KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using System.Drawing;
using System.Drawing.Drawing2D;
using System.Drawing.Imaging;
using System.IO;
using System.Net;
using Yuebon.Commons.Log;
namespace Yuebon.Commons.Helpers
{
/// <summary>
/// 图片处理
/// </summary>
public class ImgHelper
{
/// <summary>
/// 生成缩略图
/// </summary>
/// <param name="originalImagePath">源文件</param>
/// <param name="thumbnailPath">缩略图</param>
/// <param name="width">宽</param>
/// <param name="height">高</param>
/// <param name="mode"></param>
public static void MakeThumbnail(string originalImagePath,
string thumbnailPath,
int width = 120, int height = 90, string mode = "H")
{
Image image = Image.FromFile(originalImagePath);
if (image.Width <= width && image.Height <= height)
{
File.Copy(originalImagePath, thumbnailPath, true);
image.Dispose();
}
else
{
int width2 = image.Width;
int height2 = image.Height;
float num = (float)height / (float)height2;
if ((float)width / (float)width2 < num)
{
num = (float)width / (float)width2;
}
width = (int)((float)width2 * num);
height = (int)((float)height2 * num);
Image image2 = new Bitmap(width, height);
Graphics graphics = Graphics.FromImage(image2);
graphics.Clear(Color.White);
graphics.InterpolationMode = InterpolationMode.HighQualityBicubic;
graphics.SmoothingMode = SmoothingMode.HighQuality;
graphics.DrawImage(image, new Rectangle(0, 0, width, height), new Rectangle(0, 0, width2, height2), GraphicsUnit.Pixel);
EncoderParameters encoderParameters = new EncoderParameters();
EncoderParameter encoderParameter = new EncoderParameter(System.Drawing.Imaging.Encoder.Quality, 100L);
encoderParameters.Param[0] = encoderParameter;
ImageCodecInfo[] imageEncoders = ImageCodecInfo.GetImageEncoders();
ImageCodecInfo encoder = null;
int num2 = 0;
while (num2 < imageEncoders.Length)
{
if (!imageEncoders[num2].FormatDescription.Equals("JPEG"))
{
num2++;
后面还有 87 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。