我需要一种编程方式将剪切路径(另存为 SVG 文件)嵌入到另一个图像,例如 JPG/TIF/PSD。使用 Photoshop 之类的工具,这可以很容易地完成,并且路径将插入到图像 8BIM 配置文件中,但似乎没有办法以编程方式完成。ImageMagick 允许您使用以下命令获取矢量图像:
identify -format "%[8BIM:1999,2998:#1]" test.jpg > test.svg
但似乎不可能进行反向操作并添加矢量图像。任何人都可以建议任何允许此操作的库吗?
我需要一种编程方式将剪切路径(另存为 SVG 文件)嵌入到另一个图像,例如 JPG/TIF/PSD。使用 Photoshop 之类的工具,这可以很容易地完成,并且路径将插入到图像 8BIM 配置文件中,但似乎没有办法以编程方式完成。ImageMagick 允许您使用以下命令获取矢量图像:
identify -format "%[8BIM:1999,2998:#1]" test.jpg > test.svg
但似乎不可能进行反向操作并添加矢量图像。任何人都可以建议任何允许此操作的库吗?
这比我现在想写的代码要多一些,但是应该可以使用以下信息将 8BIM 放入 JPEG 中。
您可以使用 PIL 或 OpenCV 将 JPEG 编码到内存缓冲区中,然后使用类似这样的代码定位和修改/添加段(例如 8BIM)。或者您可以只read()
在您想要修改的现有 JPEG 中。要插入一个段,只需将前几个段写入磁盘,然后写入新的段,然后写入您在开始时读取的现有文件中的剩余段。
您可以使用此答案构建要插入的 8BIM 段。
您可以使用exiftool -v -v -v
来查看 8BIM 在 Photoshop 创建的 JPEG 中出现的位置,然后将您的放在类似的位置。显然,您也可以同样使用exiftool
来查看您自己的尝试在哪里/如何着陆。