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