jjzjj

php - 找到图像之间差异的轮廓

我试图找到两幅图像之间一个或多个差异的轮廓。假设您有两张相同的图片。然后在其中一张图像的随机位置添加一个不透明的正方形和三角形。形状不能重叠。我想获取这些形状最外层像素的坐标,这些坐标必须“分组”->我想获取两组坐标,每个形状一组。我已经尝试比较每个像素并获取最小和最大x和y值,这些值给出了形状的边界框。这有两个问题:它给了我边界框,而不是形状的轮廓。并且只有当图像中的形状不超过一个时,它才有效。我这辈子都想不出办法来完成这件事。我非常喜欢php,但可以使用gd或imagick。我稍微偏向于gd,但imagick更快更强大,所以也可以。奖励点:最终结果应该是每个形状一个简单(尽可能简单

php - imagick readImageBlob 给出 'uable to open file' 错误

我收到以下错误:PHPfatalerror:未捕获的异常“ImagickException”,消息“无法打开图像`/tmp/magick-2244K7gyKdSJDqKW':/var/www/中没有这样的文件或目录@error/blob.c/OpenBlob/2658”nodeviz-read-only/www/NodeViz/library/GraphVizExporter.php:454引用的相关代码在这里:$im=newImagick();$im->setFormat('svg');#removelabelsfromtherasterversion$im->readImageBl

php - PHP 中的 Imagick PNG 压缩

我一直在搜索stackoverflow以及PHP/Imagick文档以使其正常工作。我在我的服务器上存储了PNG图像,然后将其返回到我的iOS应用程序。我需要将它们作为调整大小和裁剪后的图像返回,所以我使用的是Imagick。因此,到目前为止我有:$image_name=$_POST['filepath'];if(!file_exists($image_name)){return"";}header("Content-Type:image/png");$image=newImagick($image_name);$image->resizeImage($_POST['width'],$

php - Php Imagick来自可变中心点的裁剪图像

我正在构建一个Croppie的实现,作为angularjs指令,为用户提供一个ui来裁剪他们的配置文件图像。我的后端是php,我需要一种在服务器端操作中反映ui选择的方法。我的图像中心有一个150×150的正方形,如链接的裁剪示例所示。但是,正如您所看到的,您可以移动和缩放图像,这意味着在imagick中从中心裁剪并不总是工作,这取决于用户如何将图像围绕中心点放置。我知道我可以缩放图像,然后从imagick的中心裁剪,但是我如何解释图像也将被翻译的事实呢?当我在实现中移动图像时,会得到以下数据点进行解析并发送到服务器:{transform:"translate3d(-60px,-121

php - 如何使用 PHP IMagick 将 CMYK/RGB TIFF 转换为 RGB JPEG

我有一个PHP应用程序需要处理传入的TIFF文件。我既不控制也不了解此TIFF的色彩空间,应用程序应将所有传入图像存储为RGBJPEG。问题是,传入的TIFF文件可以是任何东西:CMYK、RGB、somesortofYCbCrwrappedinsRGB等等,我需要在保存之前以某种方式将它们转换为RGBJPEG。我需要某种PHP转换函数,它使用IMagick扩展,可以获取任何二进制TIFF数据并将其转换为正确的RGBJPEG二进制数据。它需要处理TIFF图像中的不同色彩空间正确。任何输入文件的输出格式(RGBJPEG)保持不变。以下明显的解决方案正确地转换了一些CMYKTIFF,一些CM

PHP Imagick - 将图像转换为灰度(非常糟糕的结果)

我在用PHP做一些图像编辑,因为GD提供的功能较少,所以我切换到Imagick。其中一个过程是对图像进行灰度化。一切顺利(在Windows7本地,Imagick2.2.1-dev6.5.8-7Q16),直到我将脚本上传到我的网络托管服务器(Linux,Imagick3.0.1、6.2.8、2010-10-20,Q16).我试过改变质量,但没有任何改善。$img->setImageCompression(imagick::COMPRESSION_JPEG);$img->setImageCompressionQuality(100);这是GD、Imagick和Photoshop的结果我认为

php - 无法使用 Imagemagick 将 SVG 转换为 WMF

我正在尝试在Linux下使用PHP和Imagick将SVG格式的图像转换为WMF。我可以成功地将图像从SVG转换为PNG,但不能从SVG转换为WMF。我没有得到任何PHP错误,只有一个NULL图像。我怀疑我可能有安装/配置问题,因为当我尝试使用ImageMagick“转换”命令时,出现以下错误。>convertimage.svgimage.wmfconvert:noencodedelegateforthisimageformat`image.wmf'@constitute.c/WriteImage/1114.但是,wmf委托(delegate)似乎已正确注册>convert-listc

php - Imagick 在使用 PHP 将 SVG 转换为 JPG 时不使用自定义字体

我在尝试将SVG转换为JPG图像时遇到无法呈现自定义字体的问题。我正在使用为SVG文本元素定义的font-family="Lobster"。我的服务器设置如下:CentOS6.5(32位)ImageMagick6.5.4-7PHP5.2.17我正在测试的PHP代码不起作用。我正在尝试使用自定义字体Lobster。//SetupSVGtobereadbyImagick.$SVG='';$SVG.='';$SVG.='';$SVG.='Lobster';$SVG.='';$image=newImagick();//ConvertSVGtoJPG$image->readImageBlob($

php - 防止未经授权的人访问图像内容

众所周知,这对很多网站开发者来说是一个非常重要的问题。他们希望保护对其secret图像的直接访问或直接可读性。包含所有图像的文件夹是打开的,任何人都可以访问该文件夹,但我想做一些可以保护我的图像内容的事情,这意味着,如果未经授权的人寻找图像,他可以通过访问适当的文件夹来获取图像但是内容将不可见或难以理解。我想如果我在这里得到解决方案,很多人都会从这个问题中得到帮助。编写.htaccess并不总是一个稳定的选择。因此,在集思广益之后,我找到了一些方法来保护图像内容不被直接访问。我想使用Imagick和PHP来执行任何类型的图像编辑。添加和删除图层:上传后,添加图层以使图像内容不可见。因此

php - imagick php 7.2 没有设置 webp 格式

我安装了ImageMagick6.7.8-9以及cwebp和dwebp(libwebp、libwebp-devel)并按预期从命令行运行。我从webtatic安装了php7.2。我面临的问题是phpimagick没有使用webp扩展(其他格式工作正常)这是我尝试Imagick时得到的结果:fatalerror:未捕获ImagickException:无法在....中设置图像格式:Imagick->setimageformat('webp')请帮助我,我在谷歌上搜索了很多,stackoverflow对这个问题一无所知。任何线索、指导、答案都将不胜感激,提前致谢