草庐IT

php - 与php + gd的图像对比

用php和GraphicDraw(GD)Library比较两个图像的最佳方法是什么??这是场景:我有一张图片,我想找出给定集合中的哪张图片与它最相似。最相似的图片其实就是同一张图片,不是像素完美匹配而是同一张图片。为了便于理解我的意思,我用示例中的第一张图片夸大了两张图片之间的差异。尽管没有带来一致的结果,我的方法是使用imagecopyresampled将图像缩小到1px函数并查看图像之间的RGB值有多接近。从可能匹配的红色、绿色和蓝色十进制当量值中减去每个红色、绿色和蓝色十进制当量值的总和给了我一个差异指数,即使它没有按预期工作,因为并不总是RGB最相似的图像是目标图像,我可以用来

php - 从边界框确定文本坐标 a 的正确方法是什么?

鉴于调用imagettfbbox()的结果,提供给imagettftext()的正确像素完美点是什么?这样文本就不会超出其边界框?我从边界框确定基线的宽度/高度和x/y,如下所示:$box=imagettfbbox($size,$angle,$font,$text);$boxXCoords=array($box[0],$box[2],$box[4],$box[6]);$boxYCoords=array($box[1],$box[3],$box[5],$box[7]);$boxWidth=max($boxXCoords)-min($boxXCoords);$boxHeight=max($

php - 上传 jpg/png,转换为 pdf 并使用 PHP 保存?

今天早上进行了相当多的挖掘,但没有看到明显的答案-是否可以使用PHP(或其中的许多库之一)将图像保存为pdf格式?我对GD相当熟悉,尽管从我目前的阅读来看它似乎没有内置的PDF格式导出器/保存功能。如果有人有任何建议,将不胜感激! 最佳答案 我试图将此添加到已接受的答案中。以下是如何使用Imagick模块将图像转换为不同格式(包括pdf)的示例:$img=newImagick('path/to/image.jpg');$img->setImageFormat('pdf');$success=$img->writeImage('pat

php - 使用 PHP GD 库合并两个 PNG 图像

有没有人有可以合并两个PNG图像的脚本?具备以下条件:两张图片都有透明区域第二张图片必须有50%的不透明度(它覆盖在第一张图片上)这是我尝试过但没有成功的方法:编辑:第一张图片(左)和第二张图片(右)这是它应该的样子(左)和我的代码的结果(右)dqhendricks提出的解决方案的结果 最佳答案 $image1=imagecreatefrompng('a.png');//300x300$image2=imagecreatefrompng('b.png');//150x150imagecopymerge($image1,$image2

php - 使用透明 PNG 作为剪贴蒙版

是否可以拍摄这张图片:然后应用这个面具:然后把它变成这样:使用GD还是Imagick?我知道可以使用形状来遮盖图像,但我不确定如何使用预先创建的alphatransparent图像继续这样做。:s 最佳答案 使用Imagick和ImageMagick版本>6(我不知道它是否适用于旧版本)://Setimagepath$path='/path/to/your/images/';//Createnewobjectsfrompng's$dude=newImagick($path.'dude.png');$mask=newImagick($

php - 如何在调整图像大小时填充白色背景

当前背景为黑色。如何将颜色更改为白色?#assumingthemimetypeiscorrectswitch($imgtype){case'image/jpeg':$source=imagecreatefromjpeg($source_image);break;case'image/gif':$source=imagecreatefromgif($source_image);break;case'image/png':$source=imagecreatefrompng($source_image);break;default:die('Invalidimagetype.');}#Fi

php - 调用未定义函数 imagecreatefromjpeg() 并启用 GD

我正在使用PHP5.5.9在ubuntu14.04LTS上工作启用GD,我再次检查但每次我尝试使用imagecreatefromjpeg()时仍然向我显示此消息Fatalerror:Calltoundefinedfunctionimagecreatefromjpeg()in/../library/image.phponline34我什至尝试使用这个从命令行检查它php-r"var_dump(function_exists('imageantialias'));"它给了我返回bool(假)有没有办法在不重新编译的情况下解决这个问题? 最佳答案

PHP GD调整透明图像大小给黑色边框

我正在尝试使用GD缩小PHP中的一些透明图像,但每当我这样做时,都会在其周围添加一个奇怪的黑色边框。之前之后代码似乎如果我将新维度的代码更改为与旧维度相同(删除-1),则不会出现黑色边框。所以调整大小导致了问题。有谁知道哪里出了问题?编辑:我刚刚意识到它只发生在imagecopyresampled上而不是imagecopyresized.但是,imagecopyresampled提供了更好的视觉效果,如果可能的话,我想让它发挥作用。 最佳答案 我认为这里的问题是你的源图像。您拥有的不是带alphachannel的真彩色PNG,而是带

php - 在 php 中使用透明度调整图像大小

当我调整png大小时,我已经仔细研究了如何正确管理alpha。我已经设法让它保持透明度,但仅限于完全透明的像素。这是我的代码:$src_image=imagecreatefrompng($file_dir.$this->file_name);$dst_image=imagecreatetruecolor($this->new_image_width,$this->new_image_height);imagealphablending($dst_image,true);imagesavealpha($dst_image,true);$black=imagecolorallocate($

PHP GD 允许内存大小耗尽

我正在尝试使用PHP处理JPEG图像目录(大约600+,范围从50k到500k):GD以调整大小并保存图像,但我在这个过程的早期遇到了一些障碍.仅正确处理3张图像(30K、18K和231K)后,我得到一个Allowedmemorysizeof16777216bytesexhaustedPHPfatalerror。我循环浏览图像并调用下面的代码:list($w,$h)=getimagesize($src);if($w>$it->width){$newwidth=$it->width;$newheight=round(($newwidth*$h)/$w);}elseif($w>$it->h