使用php动态调整图像大小
我有一个图像,我将使用它作为背景图像,并将从数据库中提取一些其他图像,我想在这个图像中显示。因此,如果我只拉一幅图像,我希望背景图像的底部在第一幅图像后关闭,如果有多幅图像,我希望在这些图像显示后关闭。不使用单独图像的问题是,图像的边框具有设计格式,我无法单独显示它们使用php动态调整图像大小,php,image,Php,Image,我有一个图像,我将使用它作为背景图像,并将从数据库中提取一些其他图像,我想在这个图像中显示。因此,如果我只拉一幅图像,我希望背景图像的底部在第一幅图像后关闭,如果有多幅图像,我希望在这些图像显示后关闭。不使用单独图像的问题是,图像的边框具有设计格式,我无法单独显示它们 看看这个。左右边框的设计格式比裁剪并使用它们更复杂。如果有动态图像大小调整的建议吗?有。查看imageXXXX功能;您特别感兴趣的是imagecreate,imagecreatetruecolor,imagecreatefromp
看看这个。左右边框的设计格式比裁剪并使用它们更复杂。如果有动态图像大小调整的建议吗?有。查看
imageXXXX
功能;您特别感兴趣的是imagecreate
,imagecreatetruecolor
,imagecreatefrompng
,imagecopyresampled
,imagecopyresized
,以及imagepng
(假设您处理的是PNG图像——jpeg、gif和其他一些格式也有类似的加载/保存功能).你试过了吗?我经常使用这个类,它非常干净和轻量级。我使用过它。你应该尝试使用for PHP,尤其是看看。这使你可以非常轻松地进行一些基本的图像转换和操作
一个基本示例,使用两个GET参数,调整我们的myImage.jpg
图像的大小,并将其输出为PNG图像:
<?php
// width and height
$w = $_GET['w'];
$h = $_GET['h'];
// load image
$image = imagecreatefromjpeg('myImage.jpg');
// create a new image resource for storing the resized image
$resized = imagecreatetruecolor($w, $h);
// copy the image
imagecopyresized($resized, $image, 0, 0, 0, 0, $w, $h, imagesx($image), imagesy($image));
// output the image as PNG
header('Content-type: image/png');
imagepng($resized);
我在php.net中尝试了上述函数的示例,但得到的只是一个黑色(或任何指定的颜色)重新调整了图像大小,但没有重新调整原始图像的大小。即使对于您的示例,我也正在调整黑色图像的大小。我做错了什么?好吧,问题是我必须先安装GD并修改php.ini,对吗?@Scorpion King:不,如果函数正常工作(即它们已定义),这意味着安装了GD。但您确定'myImage.jpg'
或任何实际指向现有JPEG文件的内容吗?