ã¯ããã«
ãååã¯Imagickã®ã¤ã³ã¹ãã¼ã«ãç»åãµã¤ãºå¤æã«ã¤ãã¦ç´¹ä»ãã¾ããã
ãä»åã¯ä¸»ã«æºå¸¯ãµã¤ãã§ãã©ã¦ã¶ä¸ããæåãå ¥åãã¦æå®ããç»åã®ä¸ã«æåãæããããè¤æ°ã®ç»åãåæãã¦1æã®ç»åãçæããã¢ããªã±ã¼ã·ã§ã³ã®æ§ç¯ä¾ããImagickã®æ©è½ã¨å ±ã«èª¬æãã¾ãã
対象èªè
ãPHPã§ã®WEBã¢ããªã±ã¼ã·ã§ã³éçºã«ã¤ãã¦åºæ¬çãªãã¨ãç解ãã¦ããæ¹ã対象ã¨ãã¾ãã
åä½ç°å¢ã¨éçºç°å¢
ãæ¬é£è¼ã§ç´¹ä»ãããµã³ãã«ãªã©ã§å®è¡ãã¦ããç°å¢ã¯æ¬¡ã®ã¨ããã§ãã
- CentOS 5.3
- Httpd 2.0.61
- PHP 5.3
äºåæºå
ãåå説æããç»åã®èªã¿æ¸ãï¼æä½ã¯ã©ã¹ã®Imagickã«å ãã¦ãæç»ç¨ã¯ã©ã¹ImagickDrawã¨ããã¯ã©ã¹ãå©ç¨ãã¾ããImagickDrawã¯ãImagickã§èªã¿è¾¼ãã ç»åãçæããç»åã«ç·ãæåãæç»ããããæ ãã¤ãããã¨ããå å·¥ãè¡ãã¡ã½ãããéç´ããã¯ã©ã¹ã§ãã
ãImagickã¤ã³ã¹ãã¼ã«æã«ImagickDrawãåæã«ã¤ã³ã¹ãã¼ã«ããã¾ãã®ã§ãã¤ã³ã¹ãã¼ã«ã«é¢ãã¦ç¹å¥ãªä½æ¥ã¯å¿ è¦ããã¾ãããImagickã®ã¤ã³ã¹ãã¼ã«æé ã«é¢ãã¦ã¯ååã®è¨äºãåç §ãã¦ãã ããã
æ¬è¨äºã§ç´¹ä»ãããµã³ãã«ãå®è¡ããéã«
ãä»åã®ãµã³ãã«ã§ä½¿ç¨ãããã©ã³ãã¯ã以ä¸ã®ããªã¼ãã©ã³ãé å¸ãµã¤ããããã¦ã³ãã¼ããããã®ã使ç¨ãã¾ãããåãµã³ãã«å®è¡æã«ã¯åãã©ã³ãããã¦ã³ãã¼ãå¾ãsampleãã©ã«ãå ã®fontãã©ã«ãã«é ç½®ãã¦å®è¡ãã¦ãã ããã
æå®ããç»åã«æåãæã
ã次ã®ããã«ç»åã«æ¨ªã¨ç¸¦ã«æåãæããµã³ãã«ãä½æãã¾ãã
ãImagickDrawã§æ¥æ¬èªæåãæ±ãå ´åã¯ãImagickã§å¼ã³åºãããç»åå¦çã©ã¤ãã©ãªImageMagickãæ¥æ¬èªãªã©ã®ãã«ããã¤ãæåãæ±ãéã«Unicodeã§å¦çããããã«è¨è¨ããã¦ãããããUnicodeã®ç¬¦å·åå½¢å¼ã®ä¸ã¤ã¨ãã¦ã®æåã³ã¼ãã§ããUTF-8ã使ç¨ãã¾ãã
ããµã³ãã«ã®ããã«æåãæãä¸å°ã¨ãªãç»åãæå®ããæ¹æ³ãç»åä¸ã®ä»»æã®ä½ç½®ã«æåãæç»ããæ¹æ³ã説æãã¾ãã
æååãæç»ããä¸å°ã¨ãªããã£ã³ãã¹ãå®ç¾©ãã
ãæååãæç»ãããã£ã³ãã¹ã¯Imagickã§ç»åãèªã¿è¾¼ãã§å®ç¾©ãã¾ãã
$im = new Imagick(); // ä¸å°ã¨ãªãç»åãèªã¿è¾¼ã $im->readImage("images/neko.jpg");
æååãæç»ããä¸å°ã¨ãªãç»åã®å±æ§ãå¤æ´ãã
ãè¤æ°ã®ç»åãåæããããç»åã¨ImagickDrawã¯ã©ã¹ã§å®ç¾©ãããªãã¸ã§ã¯ãï¼å¾è¿°ï¼ãåæããå ´åã«ã¯Imagickã§èªã¿è¾¼ãã ç»åã®å±æ§ãåæå¯è½ã«å¤æ´ããå¿ è¦ãããã¾ãã
ããã®å±æ§å¤æ´ã¯Imagickã®coalesceImagesã¡ã½ããã§è¡ãã¾ãã
// è¤æ°ã®ç»åãåæã§ããããã«ããããã£ãå¤æ´ $canvas = $im->coalesceImages();