jjzjj

php - 使用 GD 库制作图像灰度

我的任务是创建一个小应用程序,您可以在其中上传图片,该应用程序会将其转换为ASCII艺术作品。我确信这些已经存在,但我想证明我自己可以做到。这将涉及拍摄图像,将其设为灰度,然后根据图片的暗度和字符的饱满度将每个像素与字符匹配。所以我的问题是,使用GD库(或者如果需要,我猜是其他方法)如何制作黑白图像? 最佳答案 正如nickf指出的那样在他的comment,简单的公式(pixel.r+pixel.g+pixel.b)/3是不正确的。使用GD包含的函数imagefilter()(无需使用PHP循环遍历图像中的所有像素):$im=ima

php gd imagecreatefromstring() 和图像 mime 类型

有没有办法使用imagecreatefromstring()并以某种方式获取图像类型? 最佳答案 当您使用imagecreatefrom...方法时,图像将作为未压缩的位图加载到内存中。此时并没有真正的图像类型。您可以使用图像...功能将其保存为您希望的任何类型。$img=imagecreatefromstring($data);imagepng($img,"filepathandname");imagedestroy($img);http://us2.php.net/manual/en/function.imagecreatefr

php - 如何处理图像的 MIME 类型 "application/octet-stream"?

我有一个功能可以动态制作url图片的缩略图!我总是将jpg类型的图像传递给此函数,但是当我传递扩展名为“.jpg”的图像时出现问题。但是当我尝试获取它的mime类型时,我发现它是“application/octet-stream”..在这个phppage中,这个mime类型指的是其中之一IMAGETYPE_JPC、IMAGETYPE_JPX、IMAGETYPE_JB2我需要修改我的函数来处理这种MIME类型吗??通知^^^^^^functionthumb($path,$width,$height)//$path=>imageurl{$file_dimensions=getimagesi

php - GD 库 imagettftext 在古吉拉特语文本中出现问题

我用过GDLibrary创建“图像上的文本”。我面临一个问题,即传递了一些古吉拉特语文本,但输出错误,如下所示:我想要这样并得到:我的代码是:$textBox=imagettfbbox($fontSize,$angle,$font,$txt);$textWidth=abs(max($textBox[2],$textBox[5]));$textHeight=abs(max($textBox[5],$textBox[7]));$x=(imagesx($this->img)-$textWidth)/2;$y=((imagesy($this->img)+$textHeight)/$h)-($l

php - 是否可以在不重新编译的情况下向 PHP 添加 GD/TTF 支持?

我尝试在SO上搜索此主题,但所有结果都是关于重新编译的,而不是关于不重新编译的。有没有人用过这个->dl()可用于加载动态库:http://php.net/manual/en/function.dl.php是否可以加载GD和TrueType字体库,以便我可以访问函数imagettfbbox()和imagettftext()我正在使用CentOS、Apache、PHP5.25。谢谢 最佳答案 大多数Linux发行版都有一个php-gd(或php5-gd)包,可以通过包管理器轻松获得。您只需要找到它并安装它。对于Ubuntu和Debia

php - 我如何用 GD 和 PHP 重复水印图像?

我创建了一个脚本,使用PHP在现有图像上添加水印。这一切都很好。我可以将它定位在左上角、左下角、右上角、右下角和居中。如果我愿意,我一直无法弄清楚如何重复水印。我想做一个像这张图片一样的重复水印:代码:functionimagecopymerge_alpha($dst_im,$src_im,$dst_x,$dst_y,$src_x,$src_y,$src_w,$src_h,$pct){//creatingacutresource$cut=imagecreatetruecolor($src_w,$src_h);//copyingrelevantsectionfrombackgroundt

php - 尝试在 Docker 官方镜像中将 freetype 添加到 php-gd

我正在尝试为PHPGD安装添加一些功能。我使用DockerPHP“官方”版本作为基础(php:7.1.15-fpm-jessie)。我当前的生产环境使用CentOS,其中GD模块支持FreeType、JPEG和PNG,正如您在phpinfo输出中看到的:GDSupport=>enabledGDheadersVersion=>2.2.5GDlibraryVersion=>2.2.5FreeTypeSupport=>enabledFreeTypeLinkage=>withfreetypeFreeTypeVersion=>2.4.11GIFReadSupport=>enabledGIFCre

PHP+GD : imagecopymerge not retaining PNG transparencies

我有两个PNG文件,“red.png”和“blue.png”;它们大部分都是透明的,但在不同的地方有一些红色或蓝色Blob的像素。我想制作一个合并两者的PHP脚本;它应该像这样简单:$original=getPNG('red.png');$overlay=getPNG('blue.png');imagecopymerge($original,$overlay,0,0,0,0,imagesx($original),imagesy($original),100);header('Content-Type:image/png');imagepng($original);当我运行这个脚本时,我

php - GD在resize的时候需要那么多内存吗?

我有一个用PHP制作的调整大小脚本,它使用GD(我的VPS没有安装imagemagick)来调整图像大小,我最近开始出现内存错误,所以我将memory_limit增加到50Mb并且仍然获得内存错误。我尝试调整大小的图像只有2Mb,这对PHP图像来说是否正确,我觉得有些不对劲。 最佳答案 要调整图像大小,GD必须处理未压缩图像,我认为它明显大于2MB。Imagemagick需要存储整个图像数据(像素*位深度)以及更多用于内存中实际工作的数据。50兆字节对于处理图像来说并不多。例如,如果您的内存限制小于96MB,如果您启用了图像大小调整

STM32/GD32学习指南-踩坑之(五)串口收发数据的三种方式:UART接收中断、UART+DMA空闲中断、UART+DMA超时中断,接收不定长数据,纯干货,有史以来最详细的讲解,附源码

一、串口收发功能介绍        常用的串口收发数据的方式一共两种,一种是不使用DMA,直接串口中断收发数据,另外一种是通过串口+DMA收发数据。1.串口接收数据:        对于使用DMA的串口数据收发,一般常用的还可以分为串口接收超时中断和串口空闲中断,所以细分的话,常用的主要有以下三种方式的串口数据接收使用方法:(1)直接串口中断接收数据:        也就是串口data寄存器非空即触发中断,中断标志为:USART_INT_RBNE;该种方法每接收一个字节的数据就会触发一次串口接收中断,当串口接收数据量小或是系统性能要求不高的情况下可以使用,如果串口接收数据量很大,频繁进入串口接