php生成图片输出到前端页面乱码
//echo1;die;//1准备画布资源$im=imagecreatetruecolor(100,50);//2准备涂料$black=imagecolorallocat...
// echo 1;die;
//1准备画布资源
$im=imagecreatetruecolor(100,50);
//2准备涂料
$black=imagecolorallocate($im,0,0,0);
$white=imagecolorallocate($im,255,255,255);
$blue=imagecolorallocate($im,0,0,255);
$col = imagecolorallocate($im,mt_rand(1,255),mt_rand(1,255),mt_rand(1,255));
//3在画布上画图像或文字
//imagefilledellipse($im,255,151,155,155,$white);
// imageellipse($im,255,151,130,200,$white);
//画线
// imageline($im,0,0,500,300,$white);
// imageline($im,0,300,500,0,$white);
// imageline($im,0,150,500,150,$white);
for($i=0;$i<1000;$i++){
//画点
$aa= imagesetpixel($im,mt_rand(0,550),mt_rand(0,300),$col);
//画弧线
imagearc($im,mt_rand(1,999),mt_rand(1,550),mt_rand(1,299),mt_rand(1,299),mt_rand(0,99),mt_rand(1,199),$col);
}
//画圆------------------------
/* $a=90;
$b=90;
$c=90;
$d=360-$a-$b-$c;
imagefilledarc($im,255,151,200,200,180,-$a,$blue,IMG_ARC_PIE);
imagefilledarc($im,255,151,200,200,180+$a,180+$a+$b,$white,IMG_ARC_PIE);
imagefilledarc($im,255,151,200,200,180+$a+$b,180+$a+$b+$c,$blue,IMG_ARC_PIE);
imagefilledarc($im,255,151,200,200,180+$a+$b+$c,180+$a+$b+$c+$d,$white,IMG_ARC_PIE);
// imagefilledarc($im,258,151,200,200,275,360,$white,IMG_ARC_PIE);
imagefontheight(90);
imagefontwidth(30);*/
//画圆-----end-------------------------------------
//输出文字------------------------------------
//文字坐标
$x=(100-20*4)/2;
$y=(50-20)/2+20;
$baseurl=$_SERVER['HTTP_HOST'];
$fonts='arial.ttf';
// print_r($fonts);die;
//准备文字
$strarr=array_merge(range(1,9),range('a','z'),range('A','Z'));
shuffle($strarr);
$str=join('',array_slice($strarr,0,4));
$_SESSION['core']=$str;
// print_r($core=strtolower($_SESSION['core']));die;
//$str='php';
//imagettftext ($image, $size, $angle, $x, $y, $color, $fontfile, $text)
imagettftext($im,20,0,$x,$y,$col,$fonts,$str);
// var_dump($str);die;
//4输出最终图像或者保存最终图像
//
header("Content-type:image/jpg");
imagepng($im);
//5释放画布资源
imagedestroy($im);
// $ImageCode = new \ImageCode;
// $ImageCode -> Show(130, 35, 'Num.ttf', 'code');
// print_r($ImageCode);exit; 展开
//1准备画布资源
$im=imagecreatetruecolor(100,50);
//2准备涂料
$black=imagecolorallocate($im,0,0,0);
$white=imagecolorallocate($im,255,255,255);
$blue=imagecolorallocate($im,0,0,255);
$col = imagecolorallocate($im,mt_rand(1,255),mt_rand(1,255),mt_rand(1,255));
//3在画布上画图像或文字
//imagefilledellipse($im,255,151,155,155,$white);
// imageellipse($im,255,151,130,200,$white);
//画线
// imageline($im,0,0,500,300,$white);
// imageline($im,0,300,500,0,$white);
// imageline($im,0,150,500,150,$white);
for($i=0;$i<1000;$i++){
//画点
$aa= imagesetpixel($im,mt_rand(0,550),mt_rand(0,300),$col);
//画弧线
imagearc($im,mt_rand(1,999),mt_rand(1,550),mt_rand(1,299),mt_rand(1,299),mt_rand(0,99),mt_rand(1,199),$col);
}
//画圆------------------------
/* $a=90;
$b=90;
$c=90;
$d=360-$a-$b-$c;
imagefilledarc($im,255,151,200,200,180,-$a,$blue,IMG_ARC_PIE);
imagefilledarc($im,255,151,200,200,180+$a,180+$a+$b,$white,IMG_ARC_PIE);
imagefilledarc($im,255,151,200,200,180+$a+$b,180+$a+$b+$c,$blue,IMG_ARC_PIE);
imagefilledarc($im,255,151,200,200,180+$a+$b+$c,180+$a+$b+$c+$d,$white,IMG_ARC_PIE);
// imagefilledarc($im,258,151,200,200,275,360,$white,IMG_ARC_PIE);
imagefontheight(90);
imagefontwidth(30);*/
//画圆-----end-------------------------------------
//输出文字------------------------------------
//文字坐标
$x=(100-20*4)/2;
$y=(50-20)/2+20;
$baseurl=$_SERVER['HTTP_HOST'];
$fonts='arial.ttf';
// print_r($fonts);die;
//准备文字
$strarr=array_merge(range(1,9),range('a','z'),range('A','Z'));
shuffle($strarr);
$str=join('',array_slice($strarr,0,4));
$_SESSION['core']=$str;
// print_r($core=strtolower($_SESSION['core']));die;
//$str='php';
//imagettftext ($image, $size, $angle, $x, $y, $color, $fontfile, $text)
imagettftext($im,20,0,$x,$y,$col,$fonts,$str);
// var_dump($str);die;
//4输出最终图像或者保存最终图像
//
header("Content-type:image/jpg");
imagepng($im);
//5释放画布资源
imagedestroy($im);
// $ImageCode = new \ImageCode;
// $ImageCode -> Show(130, 35, 'Num.ttf', 'code');
// print_r($ImageCode);exit; 展开
1个回答
展开全部
是生成的图像里面有乱码,还是页面有乱码?图像里面有乱码在生成图片那里声明下编码格式:header("charset=UTF-8");
页面有乱码声明下页面的格式:header("Content-Type: text/html; charset=UTF-8");
两者是有区别的。
页面有乱码声明下页面的格式:header("Content-Type: text/html; charset=UTF-8");
两者是有区别的。
更多追问追答
追问
生成的图片打印出来没有乱码,就是输出到页面乱码了
追答
那你所在页面的顶部加上header("Content-Type: text/html; charset=UTF-8");试试
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询