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.
npm i piexif-ts
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",
...
}
}
No dependency. Piexifjs just needs standard JavaScript environment.
Both client-side and server-side. Piexifjs is transpiled as Universal Module Definition(https://github.com/umdjs/umd).
Give me details. Environment, code, input, output. I can do nothing with abstract.
This software is released under the MIT License, see LICENSE.txt.