Так что я делаю изображение с черным фоном. Мой квест состоит в том, чтобы добавить белую рамку вокруг изображения внутри с 2px padding между границей и изображением.Добавить дополнение к изображению GD
- Загрузка изображения
- Затем я создаю белую рамку вокруг него.
- Затем я создаю черный фон (изображение) с большей шириной и высотой загруженного изображения.
- В конце я добавляю исходное изображение с рамкой к центру созданного черного изображения.
Таким образом, я привязан ко второму пункту, где создается белая рамка. Мой весь код выглядит следующим образом:
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 белым цветом?
все еще ищет идеи –
Вы хотите добавьте границу без покрытия какого-либо изображения (так что увеличьте размер холста) или закройте края изображения рамкой (так что сохраните размер холста одинаково)? – timclutton
Я хочу добавить границу вокруг изображения, поэтому без покрытия изображения –