欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

php如何给jpg图片写入exif信息?

程序员文章站 2022-03-31 08:16:47
...
在写一个php把图片方向根据exif旋转过来的功能,功能是做好了,但是旋转之后的图片文件exif信息都没了,因为我用imagejpeg重写了图片,请问怎么把exif写回去?

贴一下我旋转图片的代码:

function rotateImg($img,$degrees,$bgd_color=0,$ignore_transparent=null){
    $resource = imagecreatefromjpeg($img);
    //$resource = imagecreatefromstring(file_get_contents($img));
    if(!$resource)
        return false;

    $resource = imagerotate($resource, $degrees, $bgd_color,$ignore_transparent);
    print_r($img);
    if($resource&&imagejpeg($resource,$img)){
        imagedestroy($resource);//释放内存
        return true;
    }
    return false;
}

回复内容:

在写一个php把图片方向根据exif旋转过来的功能,功能是做好了,但是旋转之后的图片文件exif信息都没了,因为我用imagejpeg重写了图片,请问怎么把exif写回去?

贴一下我旋转图片的代码:

function rotateImg($img,$degrees,$bgd_color=0,$ignore_transparent=null){
    $resource = imagecreatefromjpeg($img);
    //$resource = imagecreatefromstring(file_get_contents($img));
    if(!$resource)
        return false;

    $resource = imagerotate($resource, $degrees, $bgd_color,$ignore_transparent);
    print_r($img);
    if($resource&&imagejpeg($resource,$img)){
        imagedestroy($resource);//释放内存
        return true;
    }
    return false;
}

用Imagick可以很方便的读取/写入EXIF信息。
http://php.net/manual/en/imagick.setimageproperty.php

Gd是不支持exif写入的,只能读取。

相比Gd,Imagick实在是太先进了。换吧。

相关标签: php