JPG,PNG,GIF轉Ascii
這個範例可以用來圖形轉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 \"$Ascii\";
EndFor;
Echo \" \";
EndFor;
EndIf;
?>
|