feat(字体图像): 优化字体图像并修正签章裁剪
build.yaml / build (push) Successful in 3m41s

This commit is contained in:
xiaoqidun committed 2026-10-12 23:04:11 +08:00
1 parent 5d1fd593cd
commit f8263f798f
21 files changed
+1029 -336

No files matched your search

+16 -1
View File
@@ -16,7 +16,9 @@ package ofdgo
import (
"bytes"
"context"
"fmt"
"image"
"maps"
"slices"
)
@@ -113,12 +115,25 @@ func (e *Editor) OrderCompositeObjects(page int, path ObjectPath, indexes []int,
// 入参: page 页面索引, path 父复合路径, index 图片序号, data PNG或JPEG数据
// 返回: error 错误信息
func (e *Editor) ReplaceCompositeImage(page int, path ObjectPath, index int, data []byte) error {
return e.editCompositeObjects(page, path, []int{index}, func(_ *Renderer, nodes []*editorCompositeNode, _ []CompositeMember) error {
return e.editCompositeObjects(page, path, []int{index}, func(renderer *Renderer, nodes []*editorCompositeNode, _ []CompositeMember) error {
node := nodes[0]
if node.object.Type != "ImageObject" {
return fmt.Errorf("composite member is not an image")
}
object := node.object
if object.ImageObject.ImageMask != "" {
config, _, err := decodeImageConfigData(data)
if err != nil {
return err
}
mask, err := renderer.ImageResource(object.ImageObject.ImageMask)
if err != nil {
return err
}
if err := validateImageMask(context.Background(), mask, image.Pt(config.Width, config.Height)); err != nil {
return err
}
}
id, err := e.AddImage(data)
if err != nil {
return err