Postoji više načina kako da konvertujete vaše JFIF slike u PNG, donosimo vam neke od najjednostavnijih u ovom tekstu.
Za početak krenimo od toga šta je JFIF fajl a šta PNG.
JFIF (JPEG File Interchange Format) je format fajla za čuvanje slika koji se uglavnom koristi za digitalne fotografije. Ovaj format je zapravo varijacija JPEG formata koji uključuje neke dodatne informacije o slici, kao što su boje, razmera i orijentacija.
JFIF fajlovi se obično imenuju sa ekstenzijom .jfif, .jpe ili .jpeg i koriste kompresiju podataka kako bi smanjili veličinu fajla. Ovo znači da slike koje su sačuvane u ovom formatu mogu biti relativno male, a opet sačuvati kvalitet slike.
Sa druge strane, PNG (Portable Network Graphics) je format fajla za čuvanje slika koji se takođe koristi za digitalne fotografije, kao i za druge vrste slika poput ikona i grafičkih elemenata na web sajtovima. PNG format omogućava čuvanje slika bez gubitaka (tzv. lossless), što znači da se svi detalji slike čuvaju u fajlu i da ne dolazi do degradacije kvaliteta slike tokom čuvanja.
PNG fajlovi se obično imenuju sa ekstenzijom .png i obično su veći od JFIF fajlova, ali zauzvrat nude bolji kvalitet slike i bolju reprodukciju detalja. PNG format je takođe popularan za upotrebu na web sajtovima, jer podržava transparentnost i omogućava da se slike prikazuju sa prozirnim delovima.
Kako konvertovati JFIF u PNG online?
Za konvertovanje JFIF fajla u PNG je potrebno svega nekoliko klikova na besplatnim sajtovima za konverziju različitih fajlova, probali smo Converter365 alat koji ima besplatnu, bez limita i jako brzu konverziju JFIF-a u PNG.
Konvertovati JFIF u PNG možete ovdje https://www.converter365.com/image-converter/jfif/jfif-to-png
Kako napraviti svoj JFIF u PNG konverter?
Prvo, potrebno je instalirati ove biblioteke u projektu. To se može uraditi pomoću alata za upravljanje paketima poput npm ili yarn. Na primer, možete izvršiti sledeću komandu u terminalu:
npm install jpeg-js pngjs
Zatim možete koristiti sledeći JavaScript kod:
const fs = require(‘fs’);
const jpeg = require(‘jpeg-js’);
const PNG = require(‘pngjs’).PNG;
// Učitavanje slike u memoriju
const jfifData = fs.readFileSync(‘putanja/do/slike.jfif’);
const rawImageData = jpeg.decode(jfifData);
// Kreiranje PNG objekta i konvertovanje podataka iz JFIF formata u PNG format
const png = new PNG({
width: rawImageData.width,
height: rawImageData.height
});
for (let y = 0; y < rawImageData.height; y++) {
for (let x = 0; x < rawImageData.width; x++) {
const idx = (rawImageData.width * y + x) << 2;
png.data[idx] = rawImageData.data[idx];
png.data[idx + 1] = rawImageData.data[idx + 1];
png.data[idx + 2] = rawImageData.data[idx + 2];
png.data[idx + 3] = rawImageData.data[idx + 3];
}
}
// Konvertovanje PNG objekta u binarni format i upisivanje u fajl
const pngData = PNG.sync.write(png);
fs.writeFileSync(‘putanja/do/nove-slike.png’, pngData);
Ovaj kod prvo učitava sliku u JFIF formatu sa datotečnog sistema pomoću Node.js-ove ‘fs’ biblioteke. Zatim se koristi ‘jpeg-js’ biblioteka da se dekodiraju JFIF podaci i da se kreiraju sirove podatke o slici.
Nakon toga se kreira novi PNG objekat i sirovi podaci se kopiraju u PNG objekat kako bi se konvertovao iz JFIF formata u PNG format. Na kraju se PNG objekat konvertuje u binarni format pomoću ‘pngjs’ biblioteke, a zatim se upisuje u novi fajl na datotečnom sistemu.
Da biste koristili ovaj kod, treba da promenite putanje do vaših slika u prvom i poslednjem koraku i pokrenite kod u Node.js okruženju. Na primer, možete da sačuvate ovaj kod u datoteku ‘konvertuj.js’ i pokrenete sledeću komandu u terminalu:
node konvertuj.js
Ovaj kod će da konvertuje sliku ‘slika.jfif’ u istu lokaciju gde se nalazi i originalna slika, ali u PNG formatu pod nazivom ‘nove-slike.png’.