
ç»åããSVGãçæããããšã¯ããã¬ãŒã¹ãã«ããŒã«äœ¿çšã§ããŸãã
è¿ éãªããŠã³ããŒãã®ããã«ç»åãšåçãæé©åããŠããŸãã æãèå³æ·±ãç 究åéã®1ã€ã¯ãã¬ãŒã¹ãã«ããŒã§ããç»åããŸã èªã¿èŸŒãŸããŠããªããšãã«äœã衚瀺ãããã§ãã
æè¿ãSVGã䜿çšããããã€ãã®ããŒãæ¹æ³ã«åºããããŸããããã®æçš¿ã§ãããã説æããããšæããŸãã
ãã®æçš¿ã§ã¯ã次ã®ãããã¯ã«ã€ããŠèª¬æããŸãã
- ããŸããŸãªã¿ã€ãã®ãã¬ãŒã¹ãã«ããŒã®æŠèŠ
- SVGããŒã¹ã®ãã¬ãŒã¹ãã«ããŒïŒæŠèŠã圢ç¶ãã·ã«ãšããïŒ
- ããã»ã¹èªååã
翻蚳ã¯EDISON Softwareã«ãã£ãŠãµããŒããããŸãããEDISON Softwareã¯WordPressã§äŒæ¥ãŠã§ããµã€ããå°éçã«äœæã ãäŒæ¥ã¢ã€ãã³ãã£ãã£ã®ããã®ãã£ã©ã¯ã¿ãŒããã¶ã€ã³ããŠããŸã ã
ããŸããŸãªã¿ã€ãã®ãã¬ãŒã¹ãã«ããŒã®æŠèŠ
ååã®æçš¿ã§ãPlaceholder'eãšç»åã®é 延èªã¿èŸŒã¿ã«ã€ããŠæžããããã«ã€ããŠã話ããŸããã ç»åã®é 延èªã¿èŸŒã¿ãè¡ããšãã¯ããã¬ãŒã¹ãã«ããŒãšããŠäœããã¹ãããèããããšããå§ãããŸããããã¯ãŠãŒã¶ãŒã®èªèã«å€§ããªåœ±é¿ãäžããå¯èœæ§ãããããã§ãã æè¿ãããã€ãã®ãªãã·ã§ã³ã«ã€ããŠèª¬æããŸããã

ç»åé åãèªã¿èŸŒãåã«å¡ãã€ã¶ãããã®ããã€ãã®ãªãã·ã§ã³ã
ç»åã¹ããŒã¹ã空çœã®ãŸãŸã«ãã ïŒã¬ã¹ãã³ã·ããã¶ã€ã³ã®äžçã§ã¯ãããã«ããã³ã³ãã³ãã®ç§»åãé²æ¢ãããŸãã ãããã®ã¬ã€ã¢ãŠãã®å€æŽã¯ããŠãŒã¶ãŒã®èŠ³ç¹ãããããã¬ãŒã³ããŒã·ã§ã³ã«ãšã£ãŠãæªãããšã§ãã ãã©ãŠã¶ãŒã¯ãã€ã¡ãŒãžã®ãµã€ãºãååŸãããã³ã«ã¬ã€ã¢ãŠãèšç®ãå®è¡ããããã«åŒ·å¶ãããã¹ããŒã¹ãæ®ããŸãã
- ãã¬ãŒã¹ãã«ã㌠ïŒãŠãŒã¶ãŒãããã£ãŒã«åçã衚瀺ããŠãããšæ³åããŠãã ããã ç»åã®å Žæã«ã·ã«ãšããã衚瀺ã§ããŸãã ã¡ã€ã³ç»åã®èªã¿èŸŒã¿æã ãã§ãªããã¯ãšãªã倱æãããšãããŸãã¯ãŠãŒã¶ãŒããããã¡ã€ã«ç»åããŸã£ããèšå®ããŠããªããšãã«ã衚瀺ãããŸãã ãããã®ç»åã¯éåžžãã¯ãã«ããŒã¹ã§ããããµã€ãºãå°ãããããåã蟌ãå¿ èŠãããé©åãªåè£ã§ãã
- åè² ïŒç»åããè²ãååŸãããã¬ãŒã¹ãã«ããŒã®èæ¯è²ãšããŠäœ¿çšããŸãã ããã¯ãæ¯é çãªè²ãæãé®®æãªè²ã§ããå¯èœæ§ããããŸã...ã¢ã€ãã¢ã¯ãããŠã³ããŒãå¯èœãªç»åã«åºã¥ããŠãããç»åäžã®ãç»åãªããéã®ç§»è¡ãããã¹ã ãŒãºã«ããã®ã«åœ¹ç«ã€ãšããããšã§ãã
- ãŒãããç»å ïŒãŒãããææ³ãšãåŒã°ããŸãã ã€ã¡ãŒãžã®å°ããªããŒãžã§ã³ãäœæããŠãããå®å šãªã€ã¡ãŒãžã«é²ã¿ãŸãã åæç»åã¯ããã¯ã»ã«ãšãµã€ãºã®äž¡æ¹ã§å°ããã§ãã ã¢ãŒããã¡ã¯ããé€å»ããããã«ãç»åã¯æ¡å€§çž®å°ããããŒããããŸãã ããã«ã€ããŠã¯ãããã®èšäºã§ä»¥åã«æžããã ã©ã®ããã«ããã°ã¬ãã·ãç»åã®èªã¿èŸŒã¿ãè¡ãã ã WebPã䜿çšããŠå°ããªãã¬ãã¥ãŒç»åãäœæãã ãããã°ã¬ãã·ãç»åèªã¿èŸŒã¿ã®ãã®ä»ã®äŸ ã
- ä»ã®å€ãã®ãªãã·ã§ã³ããããå€ãã®è³¢ã人ããã¬ãŒã¹ãã«ããŒãäœæããããã®ä»ã®æ¹æ³ãéçºããŠããããšãããããŸãã
ãã®1ã€ã¯ãåè²ã§ã¯ãªãã°ã©ããŒã·ã§ã³ã䜿çšããããšã§ãã ã°ã©ããŒã·ã§ã³ã¯ãæå°éã®ã³ã¹ãïŒãã€ããŒãã®å¢å ïŒã§æçµç»åã®ããæ£ç¢ºãªãã¬ãã¥ãŒãäœæã§ããŸãã

èæ¯ãšããŠã°ã©ããŒã·ã§ã³ã䜿çšããŸãã ãªã³ã©ã€ã³ã§ã¯ãªããªã£ãGradifyã®ã¹ã¯ãªãŒã³ã·ã§ããã GitHubã³ãŒã ã
å¥ã®æ¹æ³ã¯ãç»åããŒã¹ã®SVGã䜿çšããããšã§ãã
SVGããŒã¹ã®ãã¬ãŒã¹ãã«ããŒ
SVGã¯ãã¯ã¿ãŒç»åã«æé©ã§ããããšãç¥ã£ãŠããŸãã ã»ãšãã©ã®å ŽåããããããããããŒããããããåé¡ã¯ç»åãã©ã®ããã«ãã¯ãã«åãããã§ãã äžéšã®ãªãã·ã§ã³ã§ã¯ãã¢ãŠãã©ã€ã³ã圢ç¶ãããã³é åã䜿çšãããŸãã
ã¢ãŠãã©ã€ã³
以åã®æçš¿ã§ãç»åã®èŒªéãèŠã€ããŠã¢ãã¡ãŒã·ã§ã³ãäœæããæ¹æ³ã説æããŸããã ç§ã®æåã®ç®æšã¯ãç»åããã¯ãã«åããŠé åãæç»ããããšããããšã§ãããããã®æ¹æ³ãç¥ããŸããã§ããã 茪éã®äœ¿çšãé©æ°çã§ããããšã«æ°ã¥ãã茪éã埩掻ãããŠãæç»ãã®å¹æãçã¿åºãããšã«ããŸããã

ã³ãŒããã³
ãšããžæ€åºãšSVGã¢ãã¡ãŒã·ã§ã³ã䜿çšããç»åã®æç»
ãã©ãŒã
SVGã䜿çšããŠãã¢ãŠãã©ã€ã³/å¢çç·ã䜿çšããã«ç»åããé åãæç»ããããšãã§ããŸãã ããæå³ã§ã¯ãããããããããã¯ãã«åããŠãã¬ãŒã¹ãã«ããŒãäœæããŸãã
ç§ã¯ãã€ãŠäžè§åœ¢ã§äŒŒããããªããšãããããšããŸããã CSSConfãšRender Confã®äŒè©±ã§çµæãèŠãããšãã§ããŸãã

äžèšã®ã³ãŒããã³ã¯ã245åã®äžè§åœ¢ã§æ§æãããSVGããŒã¹ã®ãã¬ãŒã¹ãã«ããŒã®æŠå¿µã®èšŒæã§ãã äžè§åœ¢ã®çæã¯ã Possan polyserverã䜿çšããDelaunayäžè§åœ¢åå²ã«åºã¥ããŠããŸãã äºæ³ã©ãããSVGã䜿çšããäžè§åœ¢ãå€ãã»ã©ããã¡ã€ã«ãµã€ãºã倧ãããªããŸãã
ããªããã£ãããã³SQIPãSVGããŒã¹ã®LQIPã¡ãœãã
Tobias Baldaufã¯ã SQIPãšåŒã°ããSVGã䜿çšããå¥ã®äœå質ã®ç»åã¡ãœããã«åãçµãã§ããŸãã SQIPãæãäžããåã«ãSQIPã®ããŒã¹ãšãªã£ãŠããã©ã€ãã©ãªãŒã§ããPrimitiveã®æŠèŠã説æããŸãã
ããªããã£ãã¯ããªã楜ããã®ã§ããã²è©ŠããŠã¿ãããšããå§ãããŸãã ã©ã¹ã¿ãŒã€ã¡ãŒãžããéãªãåã圢ç¶ã§æ§æãããSVGã«å€æããŸãã ãµã€ãºãå°ãããããããŒãžã«çŽæ¥ãªãŒããŒã¬ã€ããã®ã«é©ããŠããŸãã å¥ã®é©åãªãªãã·ã§ã³ãããã³åæHTMLããŒãã®éèŠãªãã¬ãŒã¹ãã«ããŒã
ããªããã£ãã¯ãäžè§åœ¢ãé·æ¹åœ¢ãåïŒããã³ãã®ä»ã®ããã€ãïŒãªã©ã®åœ¢ç¶ã«åºã¥ããŠç»åãçæããŸãã ãã¹ãŠã®ã¹ãããã§ã圌ã¯æ°ãããã®ãè¿œå ããŸãã ã¹ããããå¢ãããšãçµæã®ç»åã¯å ã®ç»åã«è¿ããªããŸãã SVGåºåãããå Žåãããã¯åºåã³ãŒãã®ãµã€ãºã倧ãããªãããšãæå³ããŸãã
ããªããã£ããã©ã®ããã«æ©èœããããç解ããããã«ãããã€ãã®ç»åãèŠãŠãããŸããã 10åã®å³åœ¢ãš100åã®å³åœ¢ã䜿çšããŠãã¢ãŒãã¯ãŒã¯çšã®SVGãçæããŸããã

åçãžïŒ10åã®å³åœ¢ãš100åã®å³åœ¢ã䜿çšããŠããªããã£ãã§ãã®ç»åãåŠçããŸããïŒ

ç»åã§10åã®å³åœ¢ã䜿çšãããšãå ã®ç»åã®ç解ãå§ãŸããŸãã ãã¬ãŒã¹ãã«ããŒç»åã®ã³ã³ããã¹ãã§ã¯ããã®SVGããã¬ãŒã¹ãã«ããŒãšããŠäœ¿çšã§ããŸãã å®éã10æ¡ã®SVGã®ã³ãŒãã¯éåžžã«å°ãããçŽ1030ãã€ãã§ãããSVGOãä»ããŠåºåãéä¿¡ãããšãçŽ640ãã€ãã«äœäžããŸãã
<path fill=â#817c70" d=âM0 0h1024v1024H0zâ/><path fill=â#03020fâ d=âM178 994l580 92L402â62"/><path fill=â#f2e2baâ d=âM638 894L614 6l472 440"/><path fill=â#fff8beâ d=âM-62 854h300L138â62"/><path fill=â#76c2d9" d=âM410â62L154 530â62 38"/><path fill=â#62b4cfâ d=âM1086â2L498â30l484 508"/><path fill=â#010412" d=âM430â2l196 52â76 356"/><path fill=â#eb7d3fâ d=âM598 594l488â32â308 520"/><path fill=â#080a18" d=âM198 418l32 304 116â448"/><path fill=â#3f201dâ d=âM1086 1062l-344â52 248â148"/><path fill=â#ebd29fâ d=âM630 658l-60â372 516 320"/>
100åã®ã·ã§ã€ãã§çæãããç»åã¯äºæ³ã©ãã倧ãããSVGOã®åŸã«çŽ5KïŒä»¥åã¯8KïŒã®ééããããŸããã 圌ãã¯å°ããªãã€ããŒãã§é«ã¬ãã«ã®è©³çŽ°ãæã£ãŠããŸãã 䜿çšããäžè§åœ¢ã®æ°ã®æ±ºå®ã¯ãç»åã®ã¿ã€ãïŒã³ã³ãã©ã¹ããè²ã®æ°ãè€éããªã©ïŒãšè©³çŽ°ã¬ãã«ã«å€§ããäŸåããŸãã
cpeg-dssimã«äŒŒãã¹ã¯ãªãããäœæããŠã æ§é çé¡äŒŒæ§ã®ãããå€ïŒãŸãã¯ææªã®å Žåã¯åœ¢ç¶ã®æ倧æ°ïŒã«éãããŸã§äœ¿çšãã圢ç¶ã®æ°ãå€æŽã§ããŸãã
ãããã®SVGã¯ãèæ¯ç»åãšããŠã®äœ¿çšã«ãæé©ã§ãã ãµã€ãºã«å¶éãããããã¯ã¿ãŒã«åºã¥ããŠããããããããã¯ããŒããŒã®ç»åããããã§ãªããã°ã¢ãŒãã£ãã¡ã¯ãã衚瀺ãã倧ããªèæ¯ã®è¯ãåè£ã§ãã
SQIP
ããã€ã¢ã¹ã«ãããš ïŒ
SQIPã¯ãããã2ã€ã®äž¡æ¥µç«¯ã®ãã©ã³ã¹ããšãããšããè©Šã¿ã§ãïŒ ããªããã£ãã䜿çšããŠSVGãçæããŸããSVGã¯ãç»åå ã«è¡šç€ºãããäž»èŠãªãªããžã§ã¯ãã«è¿äŒŒããããã€ãã®åçŽãªåœ¢ç¶ã§æ§æãããSVGãSVGOã§æé©åããã¬ãŠã¹ãŒãããã£ã«ã¿ãŒãè¿œå ããŸãã ããã«ãããééãããã800ã1000ãã€ãã§ããã¹ãŠã®ç»é¢ã§æ»ããã«èŠããSVGãã¬ãŒã¹ãã«ããŒãçæãããç»åã³ã³ãã³ãã®èŠèŠçãªã¬ããªã«ãæäŸãããŸãã
çµæã¯ããŒãããã¯ãããžãŒã«ãã¬ãŒã¹ãã«ããŒã®å°ããªç»åã䜿çšããã®ãšäŒŒãŠããŸãïŒ Mediumãä»ã®ãµã€ããè¡ãããã« ïŒã éãã¯ãJPGãWebPãªã©ã®ããããããã䜿çšãã代ããã«ããã¬ãŒã¹ãã«ããŒãSVGã§ããããšã§ãã
ãœãŒã¹ã€ã¡ãŒãžã«å¯ŸããŠSQIPãå®è¡ãããšã次ã®çµæãåŸãããŸãã

æåã®ç»åãš2çªç®ã®ç»åã«SQIPã䜿çšããŠç»åãåºåããŸãã
åºåSVGã¯çŽ900ãã€ãã§ãããã³ãŒãã確èªãããšã
feGaussianBlur
ãã£ã«ã¿ãŒã圢ç¶ã°ã«ãŒãã«é©çšãããŠããããšãããããŸãã

SQIPã¯ããšã³ã³ãŒããããSVG Base 64ã®ã³ã³ãã³ããå«ãç»åã¿ã°ãåºåããããšãã§ããŸãã
<img width="640" height="640" src="example.jpgâ alt="Add descriptive alt text" style="background-size: cover; background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwâŠ<stripped base 64>âŠPjwvZz48L3N2Zz4=);">
ã·ã«ãšãã
ã¢ãŠãã©ã€ã³ãšããªããã£ãã·ã§ã€ãã«SVGã䜿çšããããšãæ€èšããŸããã å¥ã®å¯èœæ§ã¯ãç»åããã¯ãã«åããŠãæç»ãããããšã§ãã æ°æ¥åã Mikael Ainalemã¯ã³ãŒããã³ãå ±æãããã¬ãŒã¹ãã«ããŒãšããŠ2è²ã®ã·ã«ãšããã䜿çšããæ¹æ³ã瀺ããŸããã çµæã¯éåžžã«çŸããã§ãïŒ

ãã®å Žåã®SVGã¯æåã§äœæãããŸãããããã®ææ³ã«ãããããã»ã¹ãèªååããããŒã«ãšã®çµ±åãããã«çãŸããŸããã
- Reactã䜿çšããéçãµã€ããžã§ãã¬ãŒã¿ãŒã§ããGatsbyã¯ããããã®ã¬ã³ããªã³ã°ãããSVGããµããŒãããŸãã JS PORT potraceã䜿çšããŠç»åããã¯ãã«åããŸãã
- Craft 3 CMS ãã·ã«ãšããã®ãµããŒããè¿œå ãããŸããã potraceã®PHPããŒãã䜿çšããŸã ã
- image-trace-loaderã¯ãpotraceã䜿çšããŠç»åãåŠçããWebpackããŒããŒã§ãã
Emil WebpackããŒããŒïŒpotraceã«åºã¥ãïŒãšMikaelã®ææãSVGã®åºåã®æ¯èŒãèŠãã®ãèå³æ·±ãã§ãã
potraceã«ãã£ãŠçæãããåºåã§ã¯ããã©ã«ãã®ãªãã·ã§ã³ã䜿çšããããšæ³å®ããŠããŸãã ãã ããã«ã¹ã¿ãã€ãºããããšã¯ã§ããŸãã ã»ãšãã©ãpotraceã«æž¡ããã Image-trace-loaderã®ãªãã·ã§ã³ã確èªããŸã ã
åèš
ç»åããSVGãçæãããã¬ãŒã¹ãã«ããŒãšããŠäœ¿çšããããã®ããŸããŸãªããŒã«ãšæ¹æ³ãæ€èšããŸããã WebPã¯ãµã ãã€ã«ã®çŽ æŽããã圢åŒã§ããããSVGã¯ãã¬ãŒã¹ãã«ããŒã§ã®äœ¿çšã«ãèå³æ·±ã圢åŒã§ãã 詳现ã¬ãã«ïŒããã³ãµã€ãºïŒãå¶åŸ¡ã§ããŸããéåžžã«å§çž®ãããŠãããCSSãšJSã䜿çšããŠç°¡åã«å¶åŸ¡ã§ããŸãã
è¿œå ã®ãªãœãŒã¹
- Geometrizeã¯ãHaxeã§èšè¿°ãããããªããã£ãããŒãã§ãã ãã©ãŠã¶ã§çŽæ¥è©Šãããšãã§ããJSå®è£ ããããŸã ã
- Primitive.js ãããã¯JSã®PrimitiveããŒãã§ãã ããã«ã primitive.nextgenã¯ãPrimitive.jsããã³Electronã䜿çšããPrimitiveãã¹ã¯ãããã¢ããªã±ãŒã·ã§ã³ããŒãã§ãã
- ããªããã£ããšãžãªã¡ããªã䜿çšããŠäœæãããç»åã®äŸãèŠãããšãã§ããããã€ãã®Twitterã¢ã«ãŠã³ãããããŸãã @PrimitivePicãš@Geometrizerããã§ãã¯ããŠãã ããã
- imagetracerjsã¯ãJavaScriptã§èšè¿°ããããããããããã¬ãŒãµãŒããã³ãã¯ãã©ã€ã¶ãŒã§ãã Javaããã³Androidçšã®ããŒãããããŸãã