插件98:圆角表格GIF图像

<?php // Plug-in 98: Corner Gif
/*
* 圆角表格GIF图像
* 插件说明:
* 插件用于创建圆角表格所需要的角和边GIF图像。
* 若创建成功一个GD图像,它代表生成的GIF图像。
* 若创建失败,则返回一个未知量或一个位置图像。
* 它需要以下参数:
* $corner 创建图像的标识符,取tl、t、tr、l、r、bl、b、和br值之一,分别表示左上角,顶边框,右上角,左边框,右边框,左下角,右下角
* $border 边框的颜色,用六位十六进制表示
* $bground 北京颜色,有六位十六位进制表示
*/
// This is an executable example with additional code supplied
// To obtain just the plug-ins please click on the Download link

$corner  = $_GET['c'];
$border  = $_GET['b'];
$bground = $_GET['f'];

$result = PIPHP_CornerGif($corner, $border, $bground);
if ($result)
{
   header('Content-type: image/gif');
   imagegif($result);
}

function PIPHP_CornerGif($corner, $border, $bground)
{
   // Plug-in 98: Corner Gif
   //
   // This plug-in creates a gif image suitable for building
   // rounded table edges. On success it returns a GD image.
   // On failure it returns FALSE. It requires these
   // arguments:
   //
   //    $corner:  The corner type (which includes edges) out
   //              of tl, t, tr, l, r, bl, b and br for top-
   //              left, top, top-right, left, right, bottom-
   //              left, bottom and bottom-right
   //    $border:  The border color as six hexadecimal digits
   //    $bground: The fill color as six hexadecimal digits

   $data  = array(array(0, 0, 0, 0, 0),
                  array(0, 0, 0, 1, 1),
                  array(0, 0, 1, 2, 2),
                  array(0, 1, 2, 2, 2),
                  array(0, 1, 2, 2, 2));

   $image = imagecreatetruecolor(5, 5);
   $bcol  = PIPHP_GD_FN1($image, $border);
   $fcol  = PIPHP_GD_FN1($image, $bground);
   $tcol  = PIPHP_GD_FN1($image, 'ffffff');

   imagecolortransparent($image, $tcol);
   imagefill($image, 0 , 0, $tcol);

   if (strlen($corner) == 2)
   {
      for ($j = 0 ; $j < 5 ; ++$j)
      {
         for ($k = 0 ; $k < 5 ; ++ $k)
         {
            switch($data[$j][$k])
            {
               case 1:
                  imagesetpixel($image, $j, $k, $bcol); break;
               case 2:
                  imagesetpixel($image, $j, $k, $fcol); break;
            }
         }
      }
   }
   else
   {
      imagefilledrectangle($image, 0, 0, 4, 0, $bcol);
      imagefilledrectangle($image, 0, 1, 4, 4, $fcol);
   }

   switch($corner)
   {
      case 'tr': case 'r':
         $image = imagerotate($image, 270, $tcol); break;
      case 'br': case 'b':
         $image = imagerotate($image, 180, $tcol); break;
      case 'bl': case 'l':
         $image = imagerotate($image,  90, $tcol); break;
   }
   
   return $image;
}

function PIPHP_GD_FN1($image, $color)
{
   return imagecolorallocate($image,
      hexdec(substr($color, 0, 2)),
      hexdec(substr($color, 2, 2)),
      hexdec(substr($color, 4, 2)));
}

?>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值