<?php function create_border($pic, $border_size = 10, $border_color = 'ff00ff') { $use_trans_border = 1; $trans_color = 'ffbbff'; $arr = split("[/\\.]",strtolower($pic)); $n = count($arr)-1; $extension = $arr[$n]; switch ($extension) { case 'jpeg': case 'jpg': $im = imagecreatefromjpeg($pic); break; case 'png': $im = imagecreatefrompng($pic); break; default: return false; } $size = getimagesize($pic); $im_corner = imagecreatetruecolor($border_size, $border_size); $col_bg = imagecolorallocate($im_corner, hexdec(substr($border_color, 0, 2)), hexdec(substr($border_color, 2, 2)), hexdec(substr($border_color, 4, 2))); $col_trans = imagecolorallocate($im_corner, hexdec(substr($trans_color, 0, 2)), hexdec(substr($trans_color, 2, 2)), hexdec(substr($trans_color, 4, 2))); imagefilledrectangle($im_corner, 0, 0, $border_size, $border_size, $col_bg); imagefilledellipse($im_corner, $border_size, $border_size, $border_size*2, $border_size*2, $col_trans); imagecolortransparent($im_corner, $col_trans); imagecopymerge($im, $im_corner, 0, 0, 0, 0, $border_size, $border_size,100); $rotate = imagerotate($im_corner, 180, 0); imagecolortransparent($rotate, $col_trans); imagecopymerge($im, $rotate, $size[0]-$border_size, $size[1]-$border_size, 0, 0, $border_size, $border_size,100); $rotate = imagerotate($rotate, 90, 0); imagecolortransparent($rotate, $col_trans); imagecopymerge($im, $rotate, $size[0]-$border_size, 0, 0, 0, $border_size, $border_size,100); $rotate = imagerotate($rotate, 180, 0); imagecolortransparent($rotate, $col_trans); imagecopymerge($im, $rotate, 0, $size[1]-$border_size, 0, 0, $border_size, $border_size,100); if ($use_trans_border) { imagecolortransparent($im, $col_bg); } imagePNG($im); imagedestroy($im); imagedestroy($rotate); } header("Content-type: image/png"); // pic001.jpg (arquivo .JPG ou .PNG, XX tamanho da borda) create_border('pic001.jpg', 40); ?>