开发测试

PHP图片操作代码

//获取证书信息 //判定背景图片格式
$bgpath = ROOT_PATH . '/public/mak/';
$certificate = db('zhengshu_' . $type)->find($ids);
if($certificate['jl'] == '合格'){
    $bgpath = $bgpath . 'sjzp_pass.jpg';
}else{
    $bgpath = $bgpath . 'sjzp_notpass.jpg';
}
$resource = $this->get_pic_sourse($bgpath);
//创建画布
$img = imagecreatetruecolor(imagesx($resource), imagesy($resource));
//添加颜色
$blue = imagecolorallocate($img,255, 255, 255);
//填充颜色
imagefill($img, 0, 0, $blue);
$red = imagecolorallocate($img,255, 0, 0);
//添加filled填充效果
$green = imagecolorallocate($img,0, 255, 0);
//层叠一个背景
imagecopymerge($img, $resource, 0, 0, 0, 0, imagesx($resource), imagesy($resource), 100);

$font = 1;

//增加文字水印
$str1 = $certificate['sysmc'] . '(' . $certificate['sysbm'] . ')';
$this->maker_font_watermark($img, $str1, 90, 540, 22, 400, 'left', $font);
$str2 = '  参加了'.$certificate['nd'].'度'.$certificate['djc'].$certificate['xmmc'].'评价活动,成绩'.$certificate['jl'].'。';
$this->maker_multfont_watermark($img, $str2, 140, 670, 22, 625, 'left', $font);
$str3 = $certificate['fzrq'];
$this->maker_font_watermark($img, $str3, 592, 1075, 15, 400, 'left', $font);

$this->maker_font_watermark($img, 'XXX中心', 552, 1045, 15, 400, 'left', $font);

//增加公章
$this->maker_pic_watermark($img, ROOT_PATH . '/public/mak/' . 'seal.png', 540,900, 0.4);

$qrstr = 'http://zscx.gsccl.org/index.php/index/index/qrshow/id/' . $certificate['id'] . '/type/sjzp';
$ccc = $this->get_qrimg($qrstr);



$imga = imagecreatefromstring($ccc);
imagecopy($img, $imga, 140, 940, 0, 0, imagesx($imga), imagesy($imga));

header('Content-type: image/jpeg');
//缩小输出
$width = imagesx($img);
$height = imagesy($resource);
$new_width = imagesx($img)*1;
$new_height = imagesy($resource)*1;
$newImg = imagecreatetruecolor($new_width, $new_height);
imagealphablending($newImg, false);
imagesavealpha($newImg,true);
$transparent = imagecolorallocatealpha($newImg, 255, 255, 255, 127);
imagefilledrectangle($newImg, 0, 0, $new_width, $new_height, $transparent);
$image = $img;
imagecopyresampled($newImg, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
//imagecopy($newImg, $newImg, 0, 0, 0, 0, imagesx($newImg), imagesy($newImg));

imagejpeg($newImg);
imagedestroy($newImg);//销毁图片资源
imagedestroy($img);
@imagedestroy($imga);
exit;


作者:lzcz 分类:经验分享 浏览:389 评论:0