Giter Site home page Giter Site logo

piexif-ts's Introduction

Piexif-ts

Actions Status

This repository is forked from piexifjs and all praise should go to the creator of this great library.

Fix of the Typescript version of the original piexifjs as I was having trouble using it. See original documentation for how to use it.

Install

npm i piexif-ts

How to Use

It's very similar to the javascript library, but with some slight differences. Below is an example of how you can use this:

import piexif, { IExif, IExifElement, TagValues } from 'piexif-ts';

var file = evt.target.files[0];

var zeroth: IExifElement = {};
var exif: IExifElement = {};
var gps: IExifElement = {};
zeroth[TagValues.ImageIFD.Make] = "Make";
zeroth[TagValues.ImageIFD.XResolution] = [777, 1];
zeroth[TagValues.ImageIFD.YResolution] = [777, 1];
zeroth[TagValues.ImageIFD.Software] = "Piexifjs";
exif[TagValues.ExifIFD.DateTimeOriginal] = "2010:10:10 10:10:10";
exif[TagValues.ExifIFD.LensMake] = "LensMake";
exif[TagValues.ExifIFD.Sharpness] = 777;
exif[TagValues.ExifIFD.LensSpecification] = [[1, 1], [1, 1], [1, 1], [1, 1]];
gps[TagValues.GPSIFD.GPSVersionID] = [7, 7, 7, 7];
gps[TagValues.GPSIFD.GPSDateStamp] = "1999:99:99 99:99:99";
var exifObj: IExif = {"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);

Note also that in tsconfig.json the following setting needs to be set to commonjs for some reason. I am not sure why, so if someone could explain me, please do.

{
...
  "compilerOptions": {
    "module": "commonjs", 
    ...
  }
}

Read the Docs

Dependency

No dependency. Piexifjs just needs standard JavaScript environment.

Environment

Both client-side and server-side. Piexifjs is transpiled as Universal Module Definition(https://github.com/umdjs/umd).

Issues

Give me details. Environment, code, input, output. I can do nothing with abstract.

License

This software is released under the MIT License, see LICENSE.txt.

piexif-ts's People

Contributors

hmatoba avatar holwech avatar hlnlwj avatar kratico avatar eyeccc avatar jonathanargentiero avatar kaleworsley avatar micahjon avatar ronald avatar szapp avatar lahdekorpi avatar chitchu avatar azure-pipelines[bot] avatar weden-wendy avatar wurunbear avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.