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

admin3年前PHP教程28

1、创建一个PHP示例文件。

2、创建一个和背景图片一样大小的真彩色画布。

3、复制背景图片。

4、通过“imagecreatefrompng”合成png图片即可。

实例

?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<?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解决合并图片失真问题

?

1
2
3
4
5
6
7
$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);






到此这篇关于php png失真的原因及解决办法的文章就介绍到这了,更多相关php png失真的解决方法内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:py/php/jiaocheng/34479

免责声明:本文内容来自用户上传并发布,站点仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。请核实广告和内容真实性,谨慎使用。

相关文章

详解PHP框架EasySwoole

安装使用 composer 安装composer require easyswoole/easyswoole=3.xphp vendor/bin/easyswoole install启动框架php e...

日本多ip服务器如何选择合适的配置呢

日本多ip服务器如何选择合适的配置呢?选择日本多ip服务器,其也叫日本站群服务器,是企业网站获得流量的一大利器,主要是日本多ip服务器可以使用许多IP来建立大量的网站,并保证了网站的质量和服务器成本,...

GPU的用途租香港gpu服务器一个月多少钱合适

GPU服务器有什么作用?GPU加速计算可以提供非凡的应用性能,能将应用计算密集部分的工作量转移到GPU中,同时CPU仍然运行其余的程序代码。从用户的角度来看,应用程序的运行速度明显加快。理解GPU和C...

如何选择成都gpu服务器主机

如何选择成都gpu服务器主机?GPU服务器,又叫做显卡服务器(高性能处理器+大内存+高性能显卡=GPU服务器)。GPU服务器,简单来说,GPU服务器是基于GPU的应用于视频编解码、深度学习、科学计算等...

租用GPU服务器可以做什么韩国显卡服务器有哪些用途

其实现在很多人都听说或者接触过服务器,众所周知,服务器是网络中的重要设备,要接受少至几十人、多至成千上万人的访问,因此对服务器具有大数据量的快速吞吐、超强的稳定性、长时间运行等严格要求。那什么又是GP...

PHP中断言函数的使用详解

目录assert() 断言函数assert_options() 及相对应的 php.ini 中的参数配置总结原来一直以为断言相关的函数是 PHPUnit 这些单元测试组件提供的,在阅读手册后才发现,这...