From 2573053a82b5df9459d7320b83cd3fc104960ea4 Mon Sep 17 00:00:00 2001 From: xiaoqidun Date: Fri, 16 Oct 2026 00:44:16 +0800 Subject: [PATCH] =?UTF-8?q?feat(=E5=9B=BE=E5=83=8F=E5=A4=84=E7=90=86):=20?= =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E5=9B=BE=E5=83=8F=E7=BC=93=E5=AD=98=E9=A2=84?= =?UTF-8?q?=E7=AE=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- internal/base/image/storage.go | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/internal/base/image/storage.go b/internal/base/image/storage.go index bd8e747..0001243 100644 --- a/internal/base/image/storage.go +++ b/internal/base/image/storage.go @@ -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))