这个范例可以用来图形转xpm给PHP_GTK用的,不过大家先看一下这个简单程序码,先了解原理,说xpm大概没几个知道,只好改写成这个范例。图形转Ascii。
<code><font color="#000000"><font color="#0000bb"></font><font face="新宋体" color="#007700"><br></font><font face="新宋体"><font color="#ff8000">## 转换图档<br></font><font color="#0000bb">$Pic </font><font color="#007700">= </font><font color="#dd0000">"jerry.jpg"</font></font><font face="新宋体" color="#007700">;<br></font><font face="新宋体"><font color="#ff8000">## 欲转换之字符串<br></font><font color="#0000bb">$Ascii </font><font color="#007700">= </font><font color="#dd0000">"#"</font></font><font face="新宋体"><font color="#007700">; <br><br></font><font color="#0000bb">$ImageSize</font><font color="#007700">=</font><font color="#0000bb">GetImageSize</font><font color="#007700">(</font><font color="#0000bb">$Pic</font></font><font face="新宋体"><font color="#007700">);<br><br>If(</font><font color="#0000bb">Is_Array</font><font color="#007700">(</font><font color="#0000bb">$ImageSize</font></font><font face="新宋体"><font color="#007700">)):<br> </font><font color="#0000bb">$Width </font><font color="#007700">=</font><font color="#0000bb">$ImageSize</font><font color="#007700">[</font><font color="#0000bb">0</font><font color="#007700">]; </font></font><font face="新宋体"><font color="#ff8000">## 获取宽度<br> </font><font color="#0000bb">$Height </font><font color="#007700">=</font><font color="#0000bb">$ImageSize</font><font color="#007700">[</font><font color="#0000bb">1</font><font color="#007700">]; </font></font><font face="新宋体"><font color="#ff8000">## 获取长度 <br> </font><font color="#007700">Switch(</font><font color="#0000bb">$ImageSize</font><font color="#007700">[</font><font color="#0000bb">2</font><font color="#007700">]): </font></font><font face="新宋体"><font color="#ff8000">## 判断格式,因为4是SWF,所以就没写出来<br> </font><font color="#007700">Case </font><font color="#dd0000">'1'</font></font><font face="新宋体"><font color="#007700">:<br> If(</font><font color="#0000bb">ImageTypes</font><font color="#007700">() & </font><font color="#0000bb">IMG_GIF</font></font><font face="新宋体"><font color="#007700">):<br> </font><font color="#0000bb">$img</font><font color="#007700">=</font><font color="#0000bb">ImageCreateFromGIF</font><font color="#007700">(</font><font color="#0000bb">$Pic</font></font><font face="新宋体"><font color="#007700">); <br> Else:<br> Exit(</font><font color="#dd0000">"系统不支持GIF格式图档"</font></font><font face="新宋体"><font color="#007700">);<br> EndIf;<br> Break;<br> Case </font><font color="#dd0000">'2'</font></font><font face="新宋体"><font color="#007700">:<br> If(</font><font color="#0000bb">ImageTypes</font><font color="#007700">() & </font><font color="#0000bb">IMG_JPG</font></font><font face="新宋体"><font color="#007700">):<br> </font><font color="#0000bb">$img</font><font color="#007700">=</font><font color="#0000bb">ImageCreateFromJPEG</font><font color="#007700">(</font><font color="#0000bb">$Pic</font></font><font face="新宋体"><font color="#007700">);<br> Else:<br> Exit(</font><font color="#dd0000">"系统不支持JPG格式图档"</font></font><font face="新宋体"><font color="#007700">);<br> EndIf;<br> Break;<br> Case </font><font color="#dd0000">'3'</font></font><font face="新宋体"><font color="#007700">:<br> If(</font><font color="#0000bb">ImageTypes</font><font color="#007700">() & </font><font color="#0000bb">IMG_PNG</font></font><font face="新宋体"><font color="#007700">):<br> </font><font color="#0000bb">$img</font><font color="#007700">=</font><font color="#0000bb">ImageCreateFromPNG</font><font color="#007700">(</font><font color="#0000bb">$Pic</font></font><font face="新宋体"><font color="#007700">);<br> Else:<br> Exit(</font><font color="#dd0000">"系统不支持PNG格式图档"</font></font><font face="新宋体"><font color="#007700">);<br> EndIf;<br> Break;<br> Default:<br> Exit(</font><font color="#dd0000">"系统无法辨识"</font></font><font face="新宋体"><font color="#007700">);<br> Break;<br> EndSwitch;<br> For(</font><font color="#0000bb">$y</font><font color="#007700">=</font><font color="#0000bb">1</font><font color="#007700">;</font><font color="#0000bb">$y</font><font color="#007700"><font color="#0000bb">$Height</font><font color="#007700">;</font><font color="#0000bb">$y</font></font><font face="新宋体"><font color="#007700">++):<br> For(</font><font color="#0000bb">$x</font><font color="#007700">=</font><font color="#0000bb">1</font><font color="#007700">;</font><font color="#0000bb">$x</font><font color="#007700"><font color="#0000bb">$Width</font><font color="#007700">;</font><font color="#0000bb">$x</font></font><font face="新宋体" color="#007700">++):<br> </font><font face="新宋体"><font color="#ff8000">## 取点索引<br> </font><font color="#0000bb">$index </font><font color="#007700">= </font><font color="#0000bb">ImageColorAt</font><font color="#007700">(</font><font color="#0000bb">$img</font><font color="#007700">,</font><font color="#0000bb">$x</font><font color="#007700">,</font><font color="#0000bb">$y</font></font><font face="新宋体" color="#007700">); <br> </font><font face="新宋体"><font color="#ff8000">## 获取RGB颜色<br> </font><font color="#0000bb">$rgb </font><font color="#007700">= </font><font color="#0000bb">ImageColorsForIndex</font><font color="#007700">(</font><font color="#0000bb">$img</font><font color="#007700">,</font><font color="#0000bb">$index</font></font><font face="新宋体" color="#007700">);<br> </font><font face="新宋体"><font color="#ff8000">## 255,255,255(RGB)转FFFFFF(HTML用的)此种格式<br> </font><font color="#0000bb">$color </font><font color="#007700">= </font><font color="#0000bb">dechex</font><font color="#007700">(</font><font color="#0000bb">$rgb</font><font color="#007700">[</font><font color="#0000bb">red</font><font color="#007700">]).</font><font color="#0000bb">dechex</font><font color="#007700">(</font><font color="#0000bb">$rgb</font><font color="#007700">[</font><font color="#0000bb">green</font><font color="#007700">]).</font><font color="#0000bb">dechex</font><font color="#007700">(</font><font color="#0000bb">$rgb</font><font color="#007700">[</font><font color="#0000bb">blue</font></font><font face="新宋体"><font color="#007700">]); <br> Echo </font><font color="#dd0000">"<font>$Ascii</font>"</font></font><font face="新宋体"><font color="#007700">; <br> EndFor;<br> Echo </font><font color="#dd0000">"<br>"</font></font><font face="新宋体"><font color="#007700">;<br> EndFor;<br>EndIf;<br></font><font color="#0000bb">?></font></font></font></font></font> |