【发布时间】:2015-11-20 19:47:02
【问题描述】:
所以我正在制作黑色背景的图像。我的任务是在内部图像周围添加白色边框,边框和图像之间有 2px 填充。
- 上传图片
- 然后我在它周围创建白色边框。
- 然后我创建黑色背景(图片),上传图片的宽度和高度更大。
- 最后,我将带边框的原始图像添加到创建的黑色图像的中心。
所以我被困在第二点,即创建白色边框的地方。我的所有代码如下所示:
public function output()
{
$this->__set_image_size();
# setting temp image location
$this->settings['__temp_image'] = $this->settings['__upload_dir']['temp'] . $this->temp_image_name . '.jpg';
# generating image
$this->__generate_background();
$this->__load_image();
$this->__draw_white_border();
$this->__insert_image_to_wrapper();
# destroy temp image data
//imagedestroy($this->settings['__temp_image']);
return $this->settings;
}
和函数__draw_white_border:
private function __draw_white_border()
{
# draw white border
$color_white = ImageColorAllocate($this->image_inside, 255, 255, 255);
$this->__draw_border($this->image_inside, $color_white, 4);
}
private function __draw_border(&$img, &$color, $thickness)
{
$x = ImageSX($img);
$y = ImageSY($img);
for ( $i = 0; $i < $thickness; $i ++ )
ImageRectangle($img, $i, $i, $x --, $y --, $color);
}
主要问题是:如何在列表第二点的边框和图像之间添加填充或如何制作2px黑色和4px白色的渐变边框?
【问题讨论】:
-
仍在寻找想法
-
您是想在不覆盖任何图像的情况下添加边框(因此增加画布大小),还是用边框覆盖图像边缘(因此保持画布大小相同)?
-
我想在图像周围添加边框,所以不覆盖图像
标签: php image border gd padding