Date in imagine - scrise cu JS

Am nevoie sa stochez un string intr-un fisier PNG.
Initial am imaginea in format base64.
Exista vreo posibilitate sa scriu o anumita data in fisier pe care sa o citesc ulterior?

Scenariul e cam asa:

  • se genereaza o imagine in browser (din canvas in base 64),
  • apoi vreau sa adaug in string un text sau atribut (ex: autorul fisierului).
  • ulterior fisierul este salvat pe disc de utilizator;
  • mai tarziu, utilizatorul uploadeaza fisierul si vreau sa citesc textul adaugat anterior.

Se poate?

Orice este posibil, deci dorești să adaugi un text pe imagine cum era la camerele de supraveghere ? Nu te interesează că imaginea este în base64, e practic tot un fișier. Îl deschizi în canvas, adaugi textul și îl salvezi ca base64/png/pdf…

Problema e cu cititul înapoi, îți trebuie OCR dacă nu pui datele în metadata, dar există așa ceva : http://antimatter15.com/ocrad.js/demo.html

E cam neclar ce vrei. Fisierul pe care il salvezi pe HDD este in format PNG sau text base64?

Daca pe HDD salvezi ca text, ai putea sa-l salvezi de fapt ca xml, de genul asta:

<?xml version="1.0" encoding="UTF-8"?>
<image>
	<author>Popescu Vasile</author>
	<payload>data:image/png;base64,blablabla...</payload>
</image>

Pe server-side il poti citi simplu cu simplexml_load_file().

Mai clar: vreau sa atasez metadata unui fisier.
Cum au fotografiile EXIF (detaliile camerei foto).

Fisierul va fi salvat in format PNG sau JPG.

La jpg ai EXIF. La png cred ca e ceva mai dificil, cauta “png text chunk”.

1 Like

E bun si jpeg.
Am gasit asta: https://github.com/hMatoba/piexifjs

Scrie/citeste EXIF

Doar ca aveam o imagine transparenta si acum nu va mai fi :slight_smile: