That's awesome! Feeling inspired to also strip JPEGs? :-) I think they're easier. There is jhead, exiftool, and ObscuraCam's JNI code for examples. Can we use this under the GPLv3?
.hc Michael Rogers: > Hi Hans-Christoph, > > I hacked this together based on the PNG specification, which > distinguishes between ancillary chunks that can be removed without > affecting the image data, and critical chunks that can't. It's been > tested on exactly two PNGs so far. :-) > > http://www.libpng.org/pub/png/spec/1.2/PNG-Structure.html > > Cheers, > Michael > > On 12/12/17 16:25, Hans-Christoph Steiner wrote: >> >> pyexiftool is just a wrapper for exiftool. exiftool looks great, but >> for my use case, I only need to strip all metadata. It would be much >> easier if that was in pure Python and pure Java. perl is a no go on >> Android. >> >> It was dead simple to strip EXIF from JPEG in Python: >> >> from pil import Image >> with open(inpath) as fp: >> in_image = Image.open(fp) >> data = list(in_image.getdata()) >> out_image = Image.new(in_image.mode, in_image.size) >> out_image.putdata(data) >> out_image.save(outpath) >> >> But that broke some PNGs, and the rest were larger in size. >> >> .hc >> >> Rick Valenzuela: >>> oh, you may already know this, but the previous code keeps a copy of the >>> file and metadata. if you want it gone with no copies, you have to add a >>> switch to overwrite, e.g.: >>> >>> ``` >>> with exiftool.ExifTool() as et: >>> et.execute(b'-all=', b'-overwrite_original', b'some.png') >>> ``` >>> >>> On 12/12/2017 23:45, Rick Valenzuela wrote: >>>> heh, nice -- I just found this: >>>> >>>> https://github.com/smarnach/pyexiftool >>>> >>>> Tried it out and it worked great: >>>> ``` >>>> with exiftool.ExifTool() as et: >>>> et.execute(b'-all=', b'some.png') >>>> ``` >>>> >>>> On 12/12/2017 19:53, Hans-Christoph Steiner wrote: >>>>> >>>>> Ah, cool, I thought exiftool only worked with JPEGs. It seems to work >>>>> with just about every image format. Now the open question is how to >>>>> strip all PNG metadata with Python and Java. >>>>> >>>>> .hc >>>>> >>>>> Rick Valenzuela: >>>>>> does exiftool do what you need? >>>>>> >>>>>> `exiftool -all= <some.PNG>` >>>>>> >>>>>> On 11/12/2017 17:57, Hans-Christoph Steiner wrote: >>>>>>> >>>>>>> Anyone know any tools for sanitizing PNGs without touching the >>>>>>> compressed image data? With JPEG it is easy to strip out EXIF with >>>>>>> python-pil or many other tools. I haven't found a simple, clean approach >>>>>>> in Python for PNGs. >>>>>>> >>>>>>> .hc >>>>>>> >>>>>> >>>>> >>>> >>> >> -- PGP fingerprint: EE66 20C7 136B 0D2C 456C 0A4D E9E2 8DEA 00AA 5556 https://pgp.mit.edu/pks/lookup?op=vindex&search=0xE9E28DEA00AA5556 _______________________________________________ List info: https://lists.mayfirst.org/mailman/listinfo/guardian-dev To unsubscribe, email: [email protected]
