压缩二维码
This commit is contained in:
parent
e3a3201a06
commit
33b238b156
|
|
@ -335,7 +335,9 @@ namespace WGShare.API.Controllers.Frontend
|
||||||
// 处理图片数据
|
// 处理图片数据
|
||||||
var imageArr = await result.Content.ReadAsByteArrayAsync();
|
var imageArr = await result.Content.ReadAsByteArrayAsync();
|
||||||
var imgStr = Convert.ToBase64String(imageArr);
|
var imgStr = Convert.ToBase64String(imageArr);
|
||||||
RedisHelper.Instance.Set(RedisKeyConstant.WxMiniProgram.GetRoomQrCode(roomNum, env), imgStr, TimeSpan.FromMinutes(10));
|
|
||||||
|
imgStr = QrCodeOptimizerHelper.CompressImage(imgStr, 50);
|
||||||
|
RedisHelper.Instance.Set(RedisKeyConstant.WxMiniProgram.GetRoomQrCode(roomNum, env), imgStr, TimeSpan.FromDays(1));
|
||||||
return imgStr;
|
return imgStr;
|
||||||
}
|
}
|
||||||
else if (contentType != null && contentType.Contains("json"))
|
else if (contentType != null && contentType.Contains("json"))
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,36 @@
|
||||||
|
using SixLabors.ImageSharp;
|
||||||
|
using SixLabors.ImageSharp.Formats.Jpeg;
|
||||||
|
using System.Drawing.Imaging;
|
||||||
|
|
||||||
|
namespace WGShare.API.Helpers
|
||||||
|
{
|
||||||
|
public class QrCodeOptimizerHelper
|
||||||
|
{
|
||||||
|
public static string CompressImage(string base64String, int quality)
|
||||||
|
{
|
||||||
|
// 将 Base64 字符串转换为字节数组
|
||||||
|
byte[] imageBytes = Convert.FromBase64String(base64String);
|
||||||
|
|
||||||
|
// 使用 ImageSharp 加载图像
|
||||||
|
using (Image image = Image.Load(imageBytes))
|
||||||
|
{
|
||||||
|
// 设置压缩参数
|
||||||
|
JpegEncoder jpegEncoder = new JpegEncoder
|
||||||
|
{
|
||||||
|
Quality = quality
|
||||||
|
};
|
||||||
|
|
||||||
|
// 创建一个新的内存流来保存压缩后的图像
|
||||||
|
using (MemoryStream compressedMs = new MemoryStream())
|
||||||
|
{
|
||||||
|
image.Save(compressedMs, jpegEncoder);
|
||||||
|
|
||||||
|
// 将压缩后的图像转换回 Base64 字符串
|
||||||
|
byte[] compressedImageBytes = compressedMs.ToArray();
|
||||||
|
return Convert.ToBase64String(compressedImageBytes);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue