我想在PHP中创建一张由不同图片组成的GD图片。例如,我有6张图片(或更多),我想创建一张包含这些不同图片的图片。困难在于我的最终图片必须具有固定的宽度和高度(304x179),因此如果不同的图片太大,则必须对其进行裁剪。这是来自IconFinder的示例:这张图是由6张图片组成的,但是第3只鸟(绿色)被切掉了,下面的4、5、6也被切掉了。这就是我想要的,你能帮我用PHP编写这段代码吗?谢谢 最佳答案 创建您的主要图像并将其视为您的“Canvas”。从那里,使用imagecopy()将较小的图像复制到Canvas图像中。例如看这个:
我正在使用imagettftext制作一个条形图并在每个条形图的顶部我想放置值。我有每个条形的以下变量(实际上是矩形)$x1$y1$x2$y2$imagesx$imagesy$font_size此外,字体大小应随着字符串长度的增加而减小。 最佳答案 这样做。请记住将字体文件“arial.ttf”放在当前目录中:0){$drawsize=$size-1;$drawX=$x1+$lastdifference/2;break;}$lastdifference=$maxwidth-$width;}$size--;imagettftext($
我有一张尺寸为88x31的图像,我想将其设为100x100而不调整实际图像的大小,而只调整其Canvas/框架,可能是通过将其复制到100x100尺寸的新空白白色图像的中心。有什么想法吗? 最佳答案 正确的方法是创建一个新图像,然后将旧图像复制到它的中间(假设起始图像是JPEG且小于100x100):$oldimage=imagecreatefromjpeg($filename);$oldw=imagesx($oldimage);$oldh=imagesy($oldimage);$newimage=imagecreatetrueco
我正在尝试用PHP制作非常简单的ISO引擎,我尝试在正确的位置、顺序等处进行渲染的尝试成功了,但是绘制的图像由于某种原因在应该透明的地方是黑色的。PNG文件有透明channel,我正在使用以下测试代码:http://pastebin.com/TXk4LkJ8代码只是草稿。文件只是一个block的3个面,尺寸如下:顶部-44x22;侧面:23x34感谢您的帮助,我希望问题足够清楚。编辑:这是问题所在:http://dl.dropbox.com/u/10530011/obrazki/isofail.png编辑:[已解决]出于某种原因,我必须将图像保存为GIF才能使其正常工作。感谢您的帮助。
我有一个类接受GD图像资源作为其参数之一。据我所知,没有办法输入hintthis因为它是一个资源而不是一个对象。有没有办法验证提供的参数是否是有效的GD图像资源(除了使用此资源的进一步功能失败)?PS:请不要在您的回答中提及ImageMagick... 最佳答案 get_resource_type功能应该可以帮助你。没有编写代码并查看它返回的内容,我不确定它对GD资源会说什么,所以你只能靠自己了。不过应该是一个很好的起点! 关于php-验证变量是否为有效GD图像资源的方法?,我们在Sta
如何使用带有多色文本的PHPGD库为文本添加边框,其中文本颜色与边框颜色不同。如你所见: 最佳答案 使用下面的函数给文本添加边框您可以在此处查看示例输出http://wmh.github.io/hunbook/examples/gd-imagettftext.htmlfunctionimagettfstroketext(&$image,$size,$angle,$x,$y,&$textcolor,&$strokecolor,$fontfile,$text,$px){for($c1=($x-abs($px));$c1
我不喜欢我输出的调整大小的图像,imagecopyresized($resized_img,$new_img,0,0,0,0,$newwidth,$newheight,$width,$height);ImageJpeg($resized_img,"$path_thumbs/$rand_name.$file_ext",100);我在ImageJpeg中添加了100,因为我希望提高质量,但它并没有变得更好。我如何提高调整大小的图像/缩略图的质量 最佳答案 尝试使用imagecopyresampled反而。这会进行插值,这会让事情看起来更
最终输出应该像图像(HELLOWORLD):这是我正在做的:-$im=imagecreate(400,400);$txtcol=imagecolorallocate($im,0xFF,0x00,0x00);$size=20;$txt='DUMMYTEXT';$font='./font/Capriola-Regular.ttf';/*twopointsforbaseline*/$x1=50;$x2=300;$y1=150;$y2=170;/*boffindinglineangle*/$delta_x=$x2-$x1;$delta_y=$y2-$y1;$texangle=(rad2deg(
我编写了一个函数,可以将图像裁剪为给定的纵横比,最后调整大小并将其输出为JPG:$width/$height,1=>$crop[0]/$crop[1],);if($ratio[0]>$ratio[1]){$width=$height*$ratio[1];$x=(imagesx($image)-$width)/2;}elseif($ratio[0]函数按预期工作,但我正在创建一个不需要的GD图像资源,我该如何修复它?我试过加入这两个电话,但我一定是计算错误了。非常感谢任何帮助,谢谢。 最佳答案 您必须修改调整大小的代码,使其不以裁剪后
首先,如果我的问题可能过于模糊,我很抱歉。所以,我会尽量澄清我的问题。我目前正在开发Laravel应用程序,我正在尝试使用InterventionImageFacade。当我尝试使用它来测试上传时,出现以下错误:-NotSupportedExceptioninDriver.phpline16:GDLibraryextensionnotavailablewiththisPHPinstallation.因此,正如我尝试做的那样,我使用sudoapt-getinstalllibgd3安装了GD库,使用sudoapt-getphp5.6-gd。但是,这不起作用,并且在laravel中不断弹出相