加入收藏 | 设为首页 | 会员中心 | 我要投稿 鹰潭站长网 (https://www.0701zz.cn/)- 图像处理、低代码、云通信、数据工具、物联设备!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php png失真的原因及解决办法

发布时间:2022-07-18 10:02:38 所属栏目:PHP教程 来源:互联网
导读:在本篇文章里小编给大家整理的是一篇关于php png失真的原因及解决办法,有需要的朋友们可以跟着学习参考下。 1、创建一个PHP示例文件。 2、创建一个和背景图片一样大小的真彩色画布。 3、复制背景图片。 4、通过imagecreatefrompng合成png图片即可。 实例: ?
  在本篇文章里小编给大家整理的是一篇关于php png失真的原因及解决办法,有需要的朋友们可以跟着学习参考下。
 
  1、创建一个PHP示例文件。
 
  2、创建一个和背景图片一样大小的真彩色画布。
 
  3、复制背景图片。
 
  4、通过“imagecreatefrompng”合成png图片即可。
 
  实例:
 
  <?php
      ob_clean();
      $bg = "image1.png";
      $image_1 = imagecreatefrompng($bg);
      $bgx = imagesx($image_1);
      $bgy = imagesy($image_1);
      //创建一个和背景图片一样大小的真彩色画布(ps:只有这样才能保证后面copy图片的时候不会失真)
      $bgimage = imageCreatetruecolor($bgx,$bgy);
      imagesavealpha($bgimage, true);//保持透明
      imagealphablending($bgimage, true);//混色模式
      $alpha = imagecolorallocatealpha($bgimage, 0, 0, 0, 127);//透明
      imagefill($bgimage, 0, 0, $alpha);
      //copy背景图片
      imagecopyresampled($bgimage,$image_1,0,0,0,0,$bgx,$bgy,$bgx,$bgy);
      $fontColor = imagecolorallocate($bgimage,0x33,0x33,0x33);
      $image_2 = imagecreatefrompng( "image2.png");
      //合成图片2
      imagecopyresampled($bgimage, $image_2, 100, 100, 0, 0, 40, 40, imagesx($image_2) , imagesy($image_2));
      //文字
      $textLen = mb_strlen($text1);
      $fontSize  = 20;
      $fontWidth = imagefontwidth($fontSize)*3;//不知为什么,实测如此
      $textWidth = $fontWidth * mb_strlen($text1);
      $textx = ceil ( ($bgx - $textWidth) / 2 );
      imageTTFText($bgimage, $fontSize, 0, $textx, 450, $fontColor, $font , $text1);
      $result = imagepng($bgimage,"newimage.png");
      imagedestroy($bgimage);
      imagedestroy($qrcode);
  更多相关解决方法
 
  PHP解决合并图片失真问题
 
  $ni = imagecreatetruecolor($toW,$toH); //创建真彩色图片
  $bg_x = (($toW-$ftoW)/2);
  $bg_y = (($toH-$ftoH)/2);
  $color=imagecolorallocate($ni,255,255,255); //创建颜色
  imagefill($ni, 0, 0, $color); //设置白底
  imagecopy($ni,$tm,$bg_x,$bg_y,0,0,$ftoW,$ftoH); //合并图片
  imagedestroy($tm);
   

(编辑:鹰潭站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读