为在 PHP 中创建的图像添加边框
Posted
技术标签:
【中文标题】为在 PHP 中创建的图像添加边框【英文标题】:Give border to image created in PHP 【发布时间】:2010-06-09 13:04:56 【问题描述】:如何为使用 php 创建的图像添加边框?
【问题讨论】:
how to add image-border around an image? 的可能重复项 【参考方案1】:function drawBorder(&$img, &$color, $thickness = 1)
$x1 = 0;
$y1 = 0;
$x2 = ImageSX($img) - 1;
$y2 = ImageSY($img) - 1;
for($i = 0; $i < $thickness; $i++)
ImageRectangle($img, $x1++, $y1++, $x2--, $y2--, $color);
那么用法就这么干了。
$color = imagecolorallocate($img, 255, 0, 0);
drawBorder($img,$color, 255);
【讨论】:
错误。您要求 $color 但使用了 $color_black。 这是使用 PHP header("content-type: image/jpeg"); 显示图像的正确方法imagejpeg($image); 我们需要查看您的整个代码以查看您是否发送了正确的 haders 等。 我使用了你的代码,只有顶部、右侧和左侧的边框,但底部没有。谁能帮帮我?【参考方案2】:我没有对此进行测试,但我认为它可以解决问题。
function addBorder($image, $width, $height)
$gd = imagecreatetruecolor($width, $height);
for($i = 0; $i<$height; $i++)
// add left border
imagesetpixel($image,0,$i, imagecolorallocate($gd, 0,0,0) );
// add right border
imagesetpixel($image,$width-1,$i, imagecolorallocate($gd, 0,0,0) );
for($j = 0; $j<$width; $j++)
// add bottom border
imagesetpixel($image,$j,0, imagecolorallocate($gd, 0,0,0) );
// add top border
imagesetpixel($image,$j,$height-1, imagecolorallocate($gd, 0,0,0) );
return $image;
$image = //your image
$width = //your iimage width
$height = //your image height
$image = addBorder($image, $width, $height);
【讨论】:
【参考方案3】:使用 ImageMagick:
bool Imagick::borderImage ( mixed $bordercolor , int $width , int $height )
用由bordercolor ImagickPixel 对象定义的颜色的边框包围图像。
【讨论】:
以上是关于为在 PHP 中创建的图像添加边框的主要内容,如果未能解决你的问题,请参考以下文章