小编nec*_*sio的帖子

在 Go 中将元数据从一个 JPEG 复制到另一个

我正在尝试将 EXIF 标签从一个 JPEG 复制到另一个没有元数据的 JPEG 中。我尝试按照此评论中的描述进行操作。

我的想法是复制标签源文件中的所有内容ffdb,直到第一个排除的内容,然后从第一个包含的图像源文件(没有标签)中复制所有内容ffdb。生成的文件已损坏(缺少 SOS 标记)。

完整的重现器,包括 Luatic 的建议,可在https://go.dev/play/p/9BLjuZk5qlr上找到。只需在包含带有标签的 test.jpg 文件的目录中运行它即可。

这是执行此操作的 Go 代码草案。

func copyExif(from, to string) error {
    os.Rename(to, to+"~")
    //defer os.Remove(to + "~")

    tagsSrc, err := os.Open(from)
    if err != nil {
        return err
    }
    defer tagsSrc.Close()

    imageSrc, err := os.Open(to + "~")
    if err != nil {
        return err
    }
    defer imageSrc.Close()

    dest, err := os.Create(to)
    if err != nil {
        return err
    } …
Run Code Online (Sandbox Code Playgroud)

jpeg exif go

6
推荐指数
1
解决办法
397
查看次数

标签 统计

exif ×1

go ×1

jpeg ×1