草庐IT

php - 设置ImageMagick PNG图像背景颜色

我有一个PHP脚本来创建PDF文件的PNG缩略图,如下所示:setImageFormat("png");$im->resizeImage(200,200,1,0);//startbufferingob_start();$thumbnail=$im->getImageBlob();$contents=ob_get_contents();ob_end_clean();echo"";?>返回缩略图,但背景是透明的。我想设置白色背景颜色(将alpha层更改为白色)。我该怎么做? 最佳答案 解决方案不在于背景颜色,而在于alphachanne

php - 使用 PHP 调整大小时如何在 PNG 上保持透明背景?

我在使用PHP调整图片大小时遇到​​问题,尤其是具有透明背景的PNG文件,而不是保持透明背景,它变成了黑色背景。我该如何解决这个问题?这是调整大小的脚本:image_type=$image_info[2];if($this->image_type==IMAGETYPE_JPEG){$this->image=imagecreatefromjpeg($filename);}elseif($this->image_type==IMAGETYPE_GIF){$this->image=imagecreatefromgif($filename);}elseif($this->image_type=

php - imagecreatefromstring 使用带有数据 :image/png;base64, 的图像

我将图像存储为以以下内容开头的字符串:data:image/png;base64,我需要将它转换为普通图像以便与GD一起使用。我试过imagecreatefromstring()但它似乎只接受没有data:image/etc前缀的图像。我该怎么办? 最佳答案 $exploded=explode(',',$data,2);//limitto2parts,i.e:findthefirstcomma$encoded=$exploded[1];//pickupthe2ndpart$decoded=base64_decode($encoded

php - 将 .jpg、.jpeg 或 .gif 转换为 .png 而不将它们保存在机器上

是否可以在php中将.jpg、.jpeg或.gif图像转换为.png而无需将图像保存在计算机中?像这样的东西:functionread_image($filename,$extension){switch($extension){case'.png':$image=imagecreatefrompng($filename);break;case'.jpg':case'.jpeg':$unTransformed=imagecreatefromjpeg($filename);$image=transform($unTransformed);break;case'.gif':$unTrans

php - 使用 html2canvas 的 div 的屏幕截图。发送到 php,保存 : Corrupted image

我生成Canvas并将其传递给php,这样:$('body').on('click','#save_image',function(){html2canvas($('.myImage'),{onrendered:function(canvas){//$('.imageHolder').html(canvas);vardataURL=canvas.toDataURL("image/png");//$('.imageHolder').append('');$('.imageHolder').html('Generating..');$.post('image.php',{image:dat

php - 如何确保上传的文件是 jpg、gif 或 png?

在php中,我可以通过扩展名检查上传的文件是否具有正确的类型,因此代码应如下所示:if((($_FILES["photo1"]["type"]=="image/gif")||($_FILES["photo1"]["type"]=="image/jpeg")||($_FILES["photo1"]["type"]=="image/png"))&&($_FILES["photo1"]["size"]然后在我的代码的下一步中,我准备了一个文件以供进一步处理。但是,如果有人在上传前将text_file.doc或javascript_file.js更改为samplefile.jpg怎么办?mov

php - 旋转 PNG,然后使用图像透明度重新保存

我在获取正在旋转的PNG上的PNG透明度时遇到了一些重大问题。$filename='bird_up.png';$source=imagecreatefrompng($filename)ordie('Erroropeningfile'.$filename);imagealphablending($source,false);imagesavealpha($source,true);$rotation=imagerotate($source,$degrees,imageColorAllocateAlpha($source,0,0,0,127));imagealphablending($so

php - 想象一下。将颜色更改为透明

我想更改此图像的黑色边框:http://dev.loungeup.net/im/在PHP中使用Imagick透明化。结果图像应该有灰色边框可见,灰色边框内的图像可见,灰色边框外的所有内容(今天是黑色)应该是透明的,并让底层内容(例如在HTML页面中)可见。我已经多次阅读文档并尝试了几种解决方案,但没有弄清楚如何实现它。感谢任何帮助。谢谢 最佳答案 您可以使用一种类似于Photoshop的魔术棒工具的方法:convertoriginal.jpg-alphaset-channelalpha-fuzz18%\-fillnone-flood

php - 如何在 PHP 中通过 Imagick 将 PNG32 转换为 PNG8

我想通过php对象Imagick将PNG32转换为PNG8。但是我用setImageDepth和setImageFormat设置param为8bit,没有生效。代码如下:$im=newImagick($image);$im->cropImage($cutWidth,$cutHeight,$x,$y);$im->thumbnailImage($maxWidth,$maxHeight);$im->setImageDepth(8);$im->setImageFormat('PNG8');$im->writeImage($filename);输入的文件是PNG32,但上面的输出还是PNG8,还

php - 如何将 Base64 PNG 转换为 JPG 图像?

我有这个Base64PNG,我想将其解码为JPG。如果我转换为PNG,它工作正常,使用:list($type,$data)=explode(';',$data);list(,$data)=explode(',',$data);$data=base64_decode($data);file_put_contents('myDirectory/filename.png',$data);但是如果我尝试将它保存为JPG,它会使用(MyDirectory/filename.jpg)以黑白显示。如何将其转换为JPG?这是我的Base64PNG示例:data:image/png;base64,iVB