用PHP把TXT转换为JPG
朋友说他的老式MP4不能看小时,但是能浏览图片,想把小说转换为图片在MP4上观看。PHP这样的超级语言最适于完成这样的任务了--不需要包装、快速实现。p*Q%Jx W#[xIoPN$TE
完成这个功能的PHP程序非常简单,就是建立一块空白的画布,把小说的文字写一页在布上,然后把图片保存为文件,再写下一页,直到小说写完。
建立画布的语句是$im=imagecreate(320, 240);建立一个320*240的画布,也可以通过imagecreatefromjpeg等函数建立有背景图片的底画。
写字的语句是imagettftext($im, 12, 0, 0, ($line+1)*24-6, $color, $fnt, $s);根据行间距计算位置输出文字。&t+~Q?L)[ ~&m b
特别注意的是imagettftext函数的文字中的汉字需要使用UTF-8编码,如何把GB转换为UTF-8我不知道,如果你有好办法请一定教教我。我的办法是用PHP写个简单脚本把所有的汉字输出到一个文本文件中,汉字之间用一个|分隔,命名为gbk.txt,在WINDOWS XP里面用记事本打开,另存为utf-8.txt,编码选为UTF-8即可。需要转换的时候利用这两个文件作为字典进行翻译。7gU6p]t3Y3@2n
;kqB*q G9l
完整程序如下:
9B$WJ!cG
<?phpJ`#mn@zz
//指定文件名★可以修改1/2
$ifn='红楼梦.txt';rs?\&X mU"b
//读出两个编码的字符集合文本
$gb=file("gbk.txt"); :Ls%ug)C!bf!V&d
$gb=explode("|",$gb[0]); 8Gp3@Y?8O c
$utf=file("utf-8.txt");
$utf=explode("|",$utf[0]); &`i$`on bg:@;L
//为了方便查询,把$gb数组的 key 与 values 交换;
$gb=array_flip($gb); T%xl s5gh
//--------全局变量$utf,$gb供函数gb2utf8使用
7?;{$?'t+c:`a
//设定字体★可以修改2/2
$fnt="c:/windows/fonts/simsun.ttc"; IhHV8[ FJSC9i
//打开文本文件;D ] S'~/l S
$str=file_get_contents($ifn);r"x,G9U1d XIA"S*I
fdOjhy
//循环输出
$page=1;FYLUk f2tt
while($str){