Qaab-dhismeedka iyo Curiyayaasha Faylasha SVG
Scalable Vector Graphics (SVG) waa qaab feyl oo ku salaysan XML, kaas oo loo isticmaalo soo bandhigida garaafyada vector-ka ee shabakada internetka. Si dhab ah, feylka SVG ma aha sawir pixels ka kooban, laakiin waa kood ka kooban tilmaamo joomateri oo qeexaya dhibco, xariiqyo, qaloocyo, iyo midabyo. Maadaama uu yahay kood XML ah, wuxuu inta badan ka kooban yahay curiyayaal dhowr ah oo ay ka mid yihiin sifooyinka joomateriga, xogta qaabeynta, iyo macluumaad kale oo loogu talagalay tifaftirayaasha garaafyada.
Marka feylka SVG laga soo dhoofiyo barnaamijyada naqshadaynta, waxaa inta badan la raaciya kood dheeraad ah oo aan loo baahnayn marka sawirka laga muujinayo shabakada. Koodkan waxaa ka mid ah faallooyinka naqshadeeyaha, xogta badan (metadata), meelaha magacyada tifaftiraha (editor namespaces), iyo fogaan dheeraad ah oo u dhaxaysa sifooyinka. Curiyayaashan dheeriga ah waxay kordhiyaan xajmiga feylka iyadoo aanay jirin wax faa'iido ah oo ay u leeyihiin soo bandhigida garaafka ee biraawsarka dhexdiisa.
Sababta Xajmiga SVG uu Muhiim ugu Yahay Waxqabadka Shabakada
Xajmiga feylka SVG wuxuu saameyn toos ah ku leeyahay xawaaraha roridda mareegaha iyo khibradda guud ee isticmaalaha. Marka feylasha SVG ay yihiin kuwo waaweyn oo aan la hagaajin, waxay isticmaalaan xog internet oo badan, waxayna gaabiyaan waqtiga uu biraawsarku ku turjumayo koodka si uu u muujiyo garaafka. Tani waxay si gaar ah muhiim u tahay marka la isticmaalayo aaladaha gacanta ee leh internetka gaabiska ah.
Hagaajinta koodka SVG waxay meesha ka saartaa culeyska aan loo baahnayn, taas oo keenta in feylku noqdo mid aad u yar. Tani waxay si toos ah u dardargelisaa loading-ka bogga, waxayna hagaajisaa waxqabadka guud ee shabakada, gaar ahaan marka mareegtu isticmaaleyso astaamo (icons) iyo sawirro badan oo SVG ah.
Farqiga u Dhexeeya Inline SVG iyo Feylasha SVG ee Dibadda ah
Koodka SVG waxaa loo isticmaali karaa labo qaab oo waaweyn oo ku dhex jira naqshadaynta shabakada:
- Inline SVG: Tani waa marka koodka SVG si toos ah loogu dhex qoro dukumentiga HTML. Habkani wuxuu u oggolaanayaa horumariyayaasha inay si toos ah ugu xakameeyaan curiyayaasha SVG iyagoo isticmaalaya CSS ama JavaScript. Sidoo kale, ma jiro codsi HTTP ah oo dheeraad ah oo loo dirayo server-ka si loo soo roro sawirka.
- External SVG: Tani waa marka SVG-ga loo roro sidii feyl dibadda ah iyadoo la isticmaalayo astaanta
<img>ama CSS background-image. Habkani wuxuu ku fiican yahay kaydinta (caching) laakiin wuxuu xaddidaa awoodda wax ka beddelka koodka ee gudaha HTML.
Qalabkan "SVG Hagaajiye" wuxuu si gaar ah waxtar u leeyahay marka la hagaajinayo koodka inline SVG, maadaama uu si toos ah u nadiifiyo koodka aad ku dhex qorayso HTML-kaaga.
Nadiifinta Badbaadada Leh iyo Fikradda Isku-buuxinta "Lossless"
Hagaajinta garaafyada waxaa loo qaybin karaa labo qaab, laakiin marka ay timaado SVG, waxaa inta badan la doorbidaa isku-buuxinta aan khasaaraha lahayn ee loo yaqaan "lossless". Habkani wuxuu hubiyaa in koodka la yareeyo iyadoo aan wax isbeddel ah lagu samayn muuqaalka garaafka.
Qalabkani wuxuu raacaa xeerar adag oo nadiifin badbaado leh si loo ilaaliyo tayada garaafka:
- Waxa la saaro: Wuxuu tirtiraa faallooyinka, xogta badan (metadata), meelaha magacyada tifaftiraha, fogaanta dheeraadka ah ee sifooyinka, meelaha magacyada aan la isticmaalin, iyo midabada u dhigma ee ka gaaban.
- Waxa la daayo: Wuxuu sidiisa u daayaa viewBox, ID-yada, calaamadaha, iyo joomateriga.
- Waxa laga fogaado: Si looga fogaado khalkhal ku yimaada garaafka, hagaajiyuhu wuxuu iska ilaaliyaa dib-u-qorista dariiqyada, dib-u-magacabista ID-yada, ka saarista viewBox, iyo soo-koobidda saxda ah.
Amniga XML iyo Saameynta Noocyada Dukumentiga ee la Xannibay
SVG maadaama uu yahay qaab XML ah, wuxuu u nugulaan karaa khataraha amniga ee la xiriira falanqaynta unugyada dibadda (XML External Entity - XXE) haddii aan si habboon loo maareyn. Si loo hubiyo badbaadada isticmaalaha, qalabkani wuxuu si toos ah u xannibaa feylasha SVG ee ka kooban ku-dhawaaqista nooca dukumentiga (document type declarations) ama unugyada gaarka ah (custom entities).
Haddii aad isku daydo inaad geliso SVG leh sifooyinkan, qalabku wuxuu muujinayaa fariinta qaladka ah ee: "SVG-gan wuxuu isticmaalaa nooca dukumentiga ama unug gaar ah. Ka saar ka hor intaanad hagaajin.". Tani waxay ka hortagtaa khataraha amniga ee la xiriira parsing-ka XML-ka ee aan ammaan ahayn.
Sida Loo Isticmaalo SVG Hagaajiye iyo Xogta Waxqabadka
Si aad u isticmaasho qalabka, ku dheji koodkaaga SVG qaybta gelinta ee loogu talagalay. Qalabku wuxuu si toos ah u shaqeeyaa isagoo ku dhex shaqaynaya biraawsarkaaga, taas oo macnaheedu yahay koodhkaaga SVG waxaa lagu hagaajiyaa biraawsarkaaga dhexdiisa, waxbana looma rorayo BroBroGo.
Xaddidaadaha iyo Farriimaha Qaladka
Inta lagu guda jiro isticmaalka, qalabku wuxuu raacayaa xeerarkan soo socda ee ku saabsan khaladaadka iyo xaddidaadaha:
- Gelinta madhan: Haddii aad gujiso badhanka adigoo aan wax kood ah gelin, waxaa soo baxaysa fariinta "Ku dheji koodka SVG marka hore.".
- Koodh aan SVG ahayn: Haddii koodka la geliyey aanu ahayn SVG, qalabku wuxuu muujinayaa "Wax curiye <svg> ah lama helin.".
- Xaddidnaanta xajmiga: SVG-ga waa inuu ka hooseeyaa xadka xarfaha ee loo dejiyey. Haddii uu ka badnaado, wuxuu muujinayaa "SVG-gan aad buu ugu weyn yahay qalabkan. Ku hay wax ka yar
{max}xarfo.". - Waqtiga dhammaaday: Haddii hawsha hagaajintu ay qaadato wax ka badan 15 ilbiriqsi, hawsha waa la joojinayaa waxaanay muujinaysaa "Taasi waxay qaadatay waqti aad u dheer waana la joojiyey — isku day SVG ka yar.".
- Joojinta hawsha: Haddii aad masaxdo koodka ama aad wax ka beddesho inta ay hawshu socoto, taasi waxay joojinaysaa hawl kasta oo hagaajin ah oo markaas socotay.
Natiijooyinka iyo Isbarbardhigga
Marka hagaajintu si guul leh u dhammaato, qalabku wuxuu soo bandhigayaa xogta isbarbardhigga ee soo socota:
- Asalka: Xajmiga feylkii hore ee bytes ahaan.
- Natiijada: Xajmiga feylka cusub ee la hagaajiyey ee bytes ahaan.
- La badbaadiyey: Inta byte iyo boqolleyda booska la badbaadiyey.
Haddii hagaajintu guulaysato, waxaad arki doontaa fariinta "Waa la hagaajiyey — {pct}% ka yar ({saved} la badbaadiyey).". Haddii aan wax xajmi ah la badbaadin sababtoo ah koodka oo horay u nadiifsanaa, qalabku wuxuu muujinayaa "Waa la hagaajiyey. Wax xajmi ah lama badbaadin iyadoo la isticmaalayo nadiifinta badbaadada leh.". Haddii ay dhacdo cilad kale oo guud, wuxuu muujinayaa "Waa la hagaajin waayey SVG-gan.".
Su'alaha Badanaa La Isweydiiyo (FAQ)
Maxay ka saartaa?
Wuxuu tirtiraa faallooyinka, xogta badan (metadata), meelaha magacyada tifaftiraha, fogaanta dheeraadka ah ee sifooyinka, meelaha magacyada aan la isticmaalin iyo midabada u dhigma ee ka gaaban. Wuxuu sidiisa u daayaa viewBox, ID-yada, calaamadaha iyo joomateriga.
Miyaa la hagaajin karaa SVG kasta?
Wuxuu maareeyaa koodka caadiga ah ee SVG ee dhex-yaalka ah. SVG-yada leh nooca dukumentiga ama ku-dhawaaqista unugyada gaarka ah waa la xannibay sababtoo ah kuwaasi waxay ka dhigi karaan falanqaynta mid aan ammaan ahayn. Ka saar ku-dhawaaqistaas oo isku day mar kale.
Miyaa tani beddeli doontaa sida garaafku u muuqdo?
Hagaajiyuhu wuxuu iska ilaaliyaa dib-u-qorista dariiqyada, dib-u-magacabista ID-yada, ka saarista viewBox iyo soo-koobidda saxda ah. Haddii SVG-gaagu ku tiirsan yahay faallooyinka ama xogta badan (metadata) ee shaqada naqshadaynta, hayso koobi ka mid ah asalka.
Halkee lagu farsameeyaa koodka aan geliyo?
Koodhkaaga SVG waxaa lagu hagaajiyaa biraawsarkaaga dhexdiisa. Waxba looma rorayo BroBroGo, taas oo hubinaysa in xogtaadu ay ku dhex jirto aaladdaada oo keliya inta ay hawshu socoto.