feat(图像处理): 修正图像缓存预算

This commit is contained in:
xiaoqidun committed 2026-10-16 00:44:16 +08:00
1 parent dc48962eb3
commit 2573053a82
1 file changed
+6 -2
+6 -2
View File
@@ -42,10 +42,14 @@ func StorageCost(img image.Image, limit int) int {
}
cost += cap(encoded.profile)
if encoded.profile != nil || encoded.pngColor != nil || encoded.config.ColorModel == color.CMYKModel {
if w > (limit-cost)/12/h {
pixelSize := 12
if encoded.config.ColorModel == color.RGBA64Model || encoded.config.ColorModel == color.NRGBA64Model {
pixelSize = 16
}
if w > (limit-cost)/pixelSize/h {
return limit + 1
}
pixels = w * h * 12
pixels = w * h * pixelSize
}
if result := encoded.result.Load(); result != nil && result.image != nil {
pixels = max(pixels, StorageCost(result.image, limit-cost))