piexifjs, 在客户端或者服务器端JavaScript中,读取和修改 exif

分享于 

4分钟阅读

GitHub

  繁體 雙語
Read and modify exif in client-side and server-side JavaScript.
  • 源代码名称:piexifjs
  • 源代码网址:http://www.github.com/hMatoba/piexifjs
  • piexifjs源代码文档
  • piexifjs源代码下载
  • Git URL:
    git://www.github.com/hMatoba/piexifjs.git
    Git Clone代码到本地:
    git clone http://www.github.com/hMatoba/piexifjs
    Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/hMatoba/piexifjs
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
    
    Piexifjs https://travis-ci.org/hMatoba/piexifjs.svg?branch=master

    读取并修改 exif。库以修改 JS ( 客户端和 node.js ) 中的exif。 http://piexifjs.readthedocs.org/en/latest/index.html

    :如何使用

    • exifObj = piexif.load(jpegData) - 获取exif数据作为对象。 jpegData 必须是以"数据:图像/jpeg ;base64,"( DataURL )。"xffxd8"或者"exif"开头的字符串。
    • exifStr = piexif.dump(exifObj) - 获取exif作为字符串插入到JPEG中。
    • piexif.insert(exifStr, jpegData) - 将exif插入 JPEG。 如果 jpegData 是 DataURL,则返回JPEG作为 DataURL。 否则,如果 jpegData 为字符串,则返回JPEG作为字符串。
    • piexif.remove(jpegData) - 从JPEG中删除 exif。 如果 jpegData 是 DataURL,则返回JPEG作为 DataURL。 否则,如果 jpegData 为字符串,则返回JPEG作为字符串。

    文件API或者 Canvas API一起使用。

    示例

    
    
    
    
    <input type="file" id="files"/>
    
    
    <script source="/js/piexif.js"/>
    
    
    <script>
    
    
    function handleFileSelect(evt) {
    
    
     var file = evt.target.files[0];
    
    
    
     var zeroth = {};
    
    
     var exif = {};
    
    
     var gps = {};
    
    
     zeroth[piexif.ImageIFD.Make] ="Make";
    
    
     zeroth[piexif.ImageIFD.XResolution] = [777, 1];
    
    
     zeroth[piexif.ImageIFD.YResolution] = [777, 1];
    
    
     zeroth[piexif.ImageIFD.Software] ="Piexifjs";
    
    
     exif[piexif.ExifIFD.DateTimeOriginal] ="2010:10:10 10:10:10";
    
    
     exif[piexif.ExifIFD.LensMake] ="LensMake";
    
    
     exif[piexif.ExifIFD.Sharpness] = 777;
    
    
     exif[piexif.ExifIFD.LensSpecification] = [[1, 1], [1, 1], [1, 1], [1, 1]];
    
    
     gps[piexif.GPSIFD.GPSVersionID] = [7, 7, 7, 7];
    
    
     gps[piexif.GPSIFD.GPSDateStamp] ="1999:99:99 99:99:99";
    
    
     var exifObj = {"0th":zeroth,"Exif":exif,"GPS":gps};
    
    
     var exifStr = piexif.dump(exifObj);
    
    
    
     var reader = new FileReader();
    
    
     reader.onload = function(e) {
    
    
     var inserted = piexif.insert(exifStr, e.target.result);
    
    
    
     var image = new Image();
    
    
     image.src = inserted;
    
    
     image.width = 200;
    
    
     var el = $("<div></div>").append(image);
    
    
     $("#resized").prepend(el);
    
    
    
     };
    
    
     reader.readAsDataURL(file);
    
    
    }
    
    
    
    document.getElementById('files').addEventListener('change', handleFileSelect, false);
    
    
    </script>
    
    
    
    
    

    依赖项

    无相关性Piexifjs只需要标准的JavaScript环境。

    环境

    客户端和服务器端。标准浏览器( 在 IE11,Opera28和PhantomJS上测试) 和 Node.js.

    问题

    详细说明环境,代码,输入,输出。 我不能用抽象的方法。

    许可证

    这里软件是在MIT许可证下发布的,请参见 LICENSE.txt.


    相关文章