mirror of
https://github.com/xiaoqidun/ofdgo.git
synced 2026-10-30 01:27:26 +08:00
1 parent
d8dc25293e
commit
778d36d373
1 file changed
+10
-12
@@ -50,6 +50,7 @@ func (e *Editor) compressResourceParts(parts map[string][]byte, reader *Reader,
|
|||||||
}
|
}
|
||||||
|
|
||||||
// compressResourceReferences 优化资源,复用自产页面引用并流式读取暂存页面
|
// compressResourceReferences 优化资源,复用自产页面引用并流式读取暂存页面
|
||||||
|
// 图片优化结果仅在本次写出内复用,失败时保留原始编码
|
||||||
// 入参: parts 输出改动, reader 原包, removed 已移除条目, generated 本次自产页面及引用
|
// 入参: parts 输出改动, reader 原包, removed 已移除条目, generated 本次自产页面及引用
|
||||||
// 返回: error 读取或取消错误
|
// 返回: error 读取或取消错误
|
||||||
func (e *Editor) compressResourceReferences(parts map[string][]byte, reader *Reader, removed map[string]bool, generated map[string]editorGeneratedReferences) error {
|
func (e *Editor) compressResourceReferences(parts map[string][]byte, reader *Reader, removed map[string]bool, generated map[string]editorGeneratedReferences) error {
|
||||||
@@ -275,20 +276,17 @@ func (e *Editor) compressResourceReferences(parts map[string][]byte, reader *Rea
|
|||||||
var err error
|
var err error
|
||||||
if !cached {
|
if !cached {
|
||||||
candidate, err = optimizeImageResource(e.output.ctx, data, options, demand)
|
candidate, err = optimizeImageResource(e.output.ctx, data, options, demand)
|
||||||
if err == nil {
|
if err := e.output.ctx.Err(); err != nil {
|
||||||
imageResults[cacheKey] = nil
|
return err
|
||||||
if len(candidate) < len(data) {
|
}
|
||||||
imageResults[cacheKey] = candidate
|
imageResults[cacheKey] = nil
|
||||||
} else {
|
if err == nil && len(candidate) < len(data) {
|
||||||
candidate = nil
|
imageResults[cacheKey] = candidate
|
||||||
}
|
} else {
|
||||||
|
candidate = nil
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if err != nil {
|
if candidate != nil {
|
||||||
if e.output.ctx.Err() != nil {
|
|
||||||
return e.output.ctx.Err()
|
|
||||||
}
|
|
||||||
} else if candidate != nil {
|
|
||||||
data = candidate
|
data = candidate
|
||||||
parts[actual[key]] = data
|
parts[actual[key]] = data
|
||||||
source.key.hash = sha256.Sum256(data)
|
source.key.hash = sha256.Sum256(data)
|
||||||
|
|||||||
Reference in new issue
Block a user