Jinsi kuondoa EXIF kunavyofanya kazi
Faili la JPEG ni mlolongo wa sehemu zenye lebo zinazoitwa alama za APP, zinazoanza mara baada ya saini ya baiti mbili za SOI (0xFFD8). Data ya EXIF iko katika APP1, GPS iko ndani ya block ile ile ya APP1 kama sub-IFD, na IPTC iko katika APP13. Kiondoaji kinatembea kila alama, kinatambua zile zinazobeba metadata, huziondoa, na hukusanya tena mzigo uliobaki kwenye JPEG halali.
- Chambua alama za APP. Zana husoma ArrayBuffer ghafi na kutembea mlolongo wa alama za JFIF baiti kwa baiti. Kila alama ya baiti mbili hutambua aina ya sehemu: APP0 (kichwa cha JFIF), APP1 (EXIF na XMP), APP13 (Photoshop na IPTC), na kadhalika hadi APP15. Mchambua hurekodi offset na urefu wa baiti wa kila sehemu kwenye jedwali ndogo kabla ya kugusa chochote, ili buffer asili ibaki kamili kwenye kumbukumbu.
- Simbua lebo za EXIF. Mzigo wa APP1 ni muundo mdogo wa TIFF na Directories nne za Faili la Picha: 0th IFD (sifa za picha kuu), Exif SubIFD (mfichuo, lenzi, urefu wa msingi, ISO), GPS IFD (latitudo, longitudo, urefu, mwelekeo), na 1st IFD (picha ndogo iliyojumuishwa). Kila lebo ina nambari ya msimbo, aina ya data (baiti, fupi, ndefu, ya mantiki, kamba ya ASCII), na thamani. Zana hupanga nambari za msimbo kwenye majina yanayosomeka na binadamu ukitumia kamusi ya lebo ya piexifjs, kisha huzitoa katika paneli ya metadata zimepangwa kwa IFD.
- Weka alama lebo za GPS. Lebo yoyote katika GPS IFD inaangaziwa na beji nyekundu ya faragha. Latitudo na longitudo huhifadhiwa kama nambari tatu za mantiki (digrii, dakika, sekunde) pamoja na mwelekeo wa rejeleo (N au S, E au W). Zana huzibadilisha kwenye digrii za desimali zilizo na ishara na usahihi wa tarakimu sita (~cm 11 kwenye ikweta) na kuonyesha matokeo kwenye paneli ya GPS pamoja na kiungo cha OpenStreetMap. Hakuna ombi la tile linaloenda nje — kiungo kinatengenezwa ndani ya kompyuta na kufungua tu ukibonyeza.
- Ondoa metadata. Kwa faili za JPEG njia ya chaguomsingi hutumia piexifjs kuondoa sehemu ya APP1 kabisa, kurudisha dataURL mpya na data ya pikseli bila kugusa. "Hifadhi mwelekeo" ukiwashwa, zana huzunguka picha kwenye
<canvas>kulingana na thamani ya lebo asili yaOrientation(1–8) kabla ya kuondoa, ili matokeo ya kuona yalingane na kile kamera yako ilikusudia — kuzunguka kumejumuishwa kwenye pikseli badala ya kutegemea bendera ya metadata. - Njia ya usimbuaji upya wa canvas. "Hifadhi wasifu wa rangi wa ICC" ukizimwa, zana huchora picha kwenye
<canvas>iliyofichwa na kuitacanvas.toBlob('image/jpeg', quality). Njia hii huondoa kila kitu (EXIF, XMP, IPTC, wasifu wa rangi wa ICC, picha ndogo) na hukuruhusu kudhibiti kitelezi cha ubora wa JPEG kutoka 60 hadi 100. Chaguomsingi ni 92, ambayo huzalisha faili ndani ya asilimia chache ya ukubwa wa awali kwa ubora unaofanana na chanzo kwenye picha nyingi. - Pakua faili safi. Blob iliyosafishwa inapendekezwa kama upakuaji uliopewa jina
<jina-asili>-stripped.jpg. Zana huchambua tena matokeo na kuthibitisha sehemu ya GPS ya EXIF iko tupu kabla kiungo cha upakuaji hakionekani, kwa hivyo huwahi kupata faili iliyo na lebo ya "stripped" ambayo bado ina lebo ya eneo. Faili za PNG na WebP hazibeba EXIF kwanza kabisa; zana inaonyesha ujumbe wa "Hakuna EXIF" na kuruka hatua ya kuondoa kwa muundo huo.
Kwa nini kuondoa EXIF kabla ya kushiriki
- Faragha ya eneo. Simu za mkononi hujumuisha kuratibu halisi za GPS katika kila picha kwa chaguomsingi. JPEG kutoka mkahawa, ofisi, au nyumba hubeba anwani hiyo kwenye metadata yake kwa usahihi wa takriban mita tano. Ondoa lebo ya GPS kabla ya kutuma kwenye mitandao ya kijamii, kutuma barua pepe kwa mgeni, au kuambatanisha picha kwenye tikiti ya msaada la umma na utaondoa kabisa alama hiyo ya eneo.
- Kutojulikana katika machapisho. Waandishi habari, waanaharakati, na watoa taarifa huondoa EXIF kabla ya kuwasilisha picha kwa sababu nambari ya mfululizo ya kamera, toleo la firmware ya lenzi, na alama ya muda wa uundaji vinaweza kurejelewa dhidi ya picha nyingine zilizochapishwa kutambua mpiga picha. Kuondoa lebo hizo ni hatua ya msingi ya usalama wa uendeshaji kwa mtu yeyote ambaye jina lake lisingelazimika kushikamana na kifaa maalum cha mwili.
- Ukubwa mdogo wa faili. JPEG ya kawaida ya simu ya mkononi hubeba KB 5 hadi 15 za metadata katika sehemu yake ya APP1, ikiwemo picha ndogo iliyojumuishwa ya 160 × 120. Hiyo ni ndogo ikilinganishwa na picha ya MB 5, lakini kuiondoa kwenye kundi la picha 1,000 za bidhaa huokoa MB 5 hadi 15 kwa kila safari ya upakiaji — inafaa unapopunguza katalogi ya bidhaa, maktaba ya picha ya hisa, au usafirishaji wa Pinterest.
- Ondoa alama ya vidole ya kamera. Chapa ya kamera, muundo, toleo la firmware, kitambulisho cha lenzi, na idadi ya hatua za ufunguzi zinaunda alama ya vidole inayoweza kuunganisha picha kwenye upakiaji tofauti hata EXIF ikiwa haijaacha njia nyingine. Ukishiriki picha bila kufichua vifaa vyako (ripoti ya hitilafu, uwasilishaji wa shindano, maktaba ya picha isiyo na jina), Exif SubIFD ndiko habari hii ya kutambua inavyoishi. Iondoe na kiungo kitavunjwa.
Matumizi ya kawaida
Kuondoa EXIF kunatokea kila wakati picha inabadilisha mikono na metadata inayobeba inaweza kusababisha matatizo kwa mtumaji au mhusika.
- Upakiaji wa mitandao ya kijamii: majukwaa mengi huondoa EXIF upande wa seva hata hivyo, lakini kuondoa upande wa mteja kwanza kunamaanisha kuratibu asili hazitumiwi kwa seva za jukwaa kamwe. Ikiwa pipeline yao itawahi kuvuja (au kupewa amri ya korti), GPS asili haipatikani kwenye kumbukumbu zao kwa sababu haikutumwa.
- Uandishi habari na upigaji picha wa hati: huduma za waya na meza za picha zinahitaji metadata safi ili uwiano wa utaratibu na data ya maelezo visimamiwe na meza, si kamera. Wahariri wa picha katika AP, Reuters, na AFP wanaendesha picha zinazoingia kupitia hatua ya usafishaji wa metadata kabla hazijakwama kwenye waya.
- Orodha za mali na bidhaa: mawakala wa mali isiyohamishika na wauza wa biashara ya mtandaoni mara nyingi hupakia picha zilizopigwa kwenye anwani ya mali au ghala. Kuondoa GPS kabla ya kupakia kunazuia orodha isichapishie bila kukusudia anwani halisi ya biashara kwenye faili — inafaa wakati ghala ni makazi binafsi au mali bado inakaliwa.
Mfano uliofanyiwa kazi
JPEG ya MB 3.5 iliyopigwa kwenye iPhone ya hivi karibuni hubeba metadata ya APP1 ya karibu KB 12: kuratibu za GPS na mwelekeo na urefu, alama ya muda wa kupiga hadi milisekunde, muundo wa kamera na kitambulisho cha lenzi, mipangilio ya usawa mweupe, na picha ndogo iliyojumuishwa ya 160 × 120. Baada ya kuondoa kwa njia ya chaguomsingi ya piexif, faili iko MB 3.488. Hiyo ni nyepesi KB 12, sawa kabisa na pikseli za asili, na haina ping ya eneo. Paneli ya GPS hapo juu itaonyesha kuratibu gani hasa ziliondolewa kabla hujapakua.
Metadata ya EXIF ni nini?
EXIF (Exchangeable Image File Format) ni kiwango kinachofafanua jinsi kamera za dijiti na simu za mkononi zinavyohifadhi metadata ndani ya faili za picha. JPEG ya kawaida ya simu ya mkononi hubeba chapa na muundo wa kamera, urefu wa msingi wa lenzi, kasi ya ufunguzi, ISO, eneo halisi la GPS (hadi mita chache), alama ya muda wa uundaji, na picha ndogo iliyojumuishwa ndogo — zote hazionekani kwenye picha iliyowakilishwa yenyewe lakini zinasomeka na programu yoyote inayofahamu EXIF, ikiwa ni pamoja na kivinjari cha faili cha mfumo wa uendeshaji na zana nyingi za kuhariri picha.
Kwa nini ninapaswa kuondoa EXIF kabla ya kushiriki picha?
Lebo ya GPS inafichua mahali picha ilipopigwa, hadi mita chache. Shiriki picha bila kuiondoa na unashiriki eneo hilo na kila mtu anayepokea faili. Nambari za mfululizo za kamera na vitambulisho vya lenzi pia vinaweza kualama vidole vya mpiga picha kwenye upakiaji tofauti, ambayo ina umuhimu kwa mtu yeyote anayechapisha kwa majina ya siri. Kuondoa kunaondoa hili yote kabla faili haijatoka kwenye kifaa chako.
Je, hii inaathiri ubora wa picha?
Njia ya chaguomsingi ya piexif huondoa sehemu ya APP1 bila kugusa pikseli za picha, kwa hivyo ubora ni sawa kabisa na asili kwa suala la bit. Njia ya usimbuaji upya wa canvas (inayotumika "Hifadhi wasifu wa rangi wa ICC" ikizimwa, au "Hifadhi mwelekeo" ukiwashwa kwa picha iliyozunguka) husimba tena pikseli kwenye thamani iliyochaguliwa ya kitelezi cha ubora wa JPEG — weka kitelezi kwenye 95 au zaidi kuweka matokeo yanayoonekana karibu na chanzo kwenye picha nyingi.
Je, faili za HEIC kutoka iPhones je?
Kuondoa HEIC kunategemea usaidizi wa asili wa HEIC wa kivinjari chako. Safari 13+ husimbua HEIC kwa asili; Chrome na Firefox hazifanyi hivyo. Kivinjari chako kisipoweza kuonyesha HEIC, tumia chaguo la simu yako la "Safirisha kama JPEG" kwanza (kwenye iOS Photos: Shiriki → Chaguo → Inayooana Zaidi), kisha pakia JPEG hapa. Hatua ya kuondoa kwenye faili liliobadilishwa inafanya kazi kwa njia ile ile kama JPEG nyingine yoyote.
Kila kuondoa kunafanyika ndani ya kivinjari chako. Picha asili haifikii seva yoyote, na faili iliyosafishwa inazalishwa kabisa kutoka ArrayBuffer iliyopakiwa kwenye kumbukumbu wakati wa kupakia. Tupa picha hapo juu, kagua metadata, na upakue nakala iliyoondolewa.