如何使用PHP创建带有白色3px边框的缩略图?

时间:2010-06-11 08:48:27

标签: php image gd

如何使用PHP创建带有白色3px边框的缩略图?

3 个答案:

答案 0 :(得分:2)

实际上没有尝试过这个,但我认为这样的事情可能会起作用

<?php

/*
* Function to create a border around an image
*/
function drawBorder($image_name, $r = 0, $g = 0, $b = 0, $thickness = 1)
{
  $image = ImageCreateFromJPEG($image_name);
  $color = ImageColorAllocate($img, $r, $g, $b);

  $x1 = 0;
  $y1 = 0;
  $x2 = ImageSX($image) - 1;
  $y2 = ImageSY($image) - 1;

  for($i = 0; $i < $thickness; $i++)
  {
    ImageRectangle($image, $x1++, $y1++, $x2--, $y2--, $color);
  }

  return $image;
}

?> 

然后运行类似

的内容
<?php
header('Content-type: image/jpeg');
ImageJPEG(drawBorder("images/foo.jpg", 128, 128, 0, 3));
?>

答案 1 :(得分:0)

创建一个比给定缩略图高6px和6px的jpg(或gif / png)。将所需的边框颜色作为背景颜色。然后使用startingpos 3px,3px; - )

复制缩略图

使用imagick库的最佳实践

答案 2 :(得分:0)

function addBorderpng($add){
    $border=5; 
    $im=imagecreatefrompng($add);
    $width=imagesx($im);
    $height=imagesy($im);       
    $img_adj_width=$width+(2*$border);
    $img_adj_height=$height+(2*$border);
    $newimage=imagecreatetruecolor($img_adj_width,$img_adj_height);     

    $border_color = imagecolorallocate($newimage, 255, 255, 255);
    imagefilledrectangle($newimage,0,0,$img_adj_width,

$ img_adj_height,$ border_color);

    imagecopyresized($newimage,$im,$border,$border,0,0,

$宽度,$高度,宽度$,$高度);         imagepng($ newimage,$添加,9);         文件模式( “$添加”,0666);

}