标题:
php imagecolorallocatealpha和imagecolorallocate 区别
[打印本页]
作者:
fangzhen
时间:
2009-4-16 17:23
标题:
php imagecolorallocatealpha和imagecolorallocate 区别
imagecolorallocate ? 为一幅图像分配颜色
说明int
imagecolorallocate
( resource
$image
, int
$red
, int
$green
, int
$blue
)
imagecolorallocate()
返回一个标识符,代表了由给定的 RGB 成分组成的颜色。
red
,
green
和
blue
分别是所需要的颜色的红,绿,蓝成分。这些参数是 0 到 255 的整数或者十六进制的 0x00 到 0xFF。
imagecolorallocate()
必须被调用以创建每一种用在
image
所代表的图像中的颜色。
Note
: 第一次对
imagecolorallocate()
的调用会给基于调色板的图像填充背景色,即用
imagecreate()
建立的图像。
Example#1
imagecolorallocate()
例子
=
imagecreate
(
'example.jpg'
,
100
,
100
);
// 背景设为红色
$background
=
imagecolorallocate
(
$im
,
255
,
0
,
0
);
// 设定一些颜色
$white
=
imagecolorallocate
(
$im
,
255
,
255
,
255
);
$black
=
imagecolorallocate
(
$im
,
0
,
0
,
0
);
// 十六进制方式
$white
=
imagecolorallocate
(
$im
,
0xFF
,
0xFF
,
0xFF
);
$black
=
imagecolorallocate
(
$im
,
0x00
,
0x00
,
0x00
);
?>
如果分配失败则返回 -1。 imagecolorallocatealpha ? 为一幅图像分配颜色 + alpha 说明int
imagecolorallocatealpha
( resource
$image
, int
$red
, int
$green
, int
$blue
, int
$alpha
)
imagecolorallocatealpha()
的行为和
imagecolorallocate()
相同,但多了一个额外的透明度参数
alpha
,其值从
0
到
127
。
0
表示完全不透明,
127
表示完全透明。 如果分配失败则返回
FALSE
。
Example#1 使用
imagecolorallocatealpha()
的例子
=
300
;
$image
=
imagecreatetruecolor
(
$size
,
$size
);
// 用白色背景加黑色边框画个方框
$back
=
imagecolorallocate
(
$image
,
255
,
255
,
255
);
$border
=
imagecolorallocate
(
$image
,
0
,
0
,
0
);
imagefilledrectangle
(
$image
,
0
,
0
,
$size
-
1
,
$size
-
1
,
$back
);
imagerectangle
(
$image
,
0
,
0
,
$size
-
1
,
$size
-
1
,
$border
);
$yellow_x
=
100
;
$yellow_y
=
75
;
$red_x
=
120
;
$red_y
=
165
;
$blue_x
=
187
;
$blue_y
=
125
;
$radius
=
150
;
// 用 alpha 值分配一些颜色
$yellow
=
imagecolorallocatealpha
(
$image
,
255
,
255
,
0
,
75
);
$red
=
imagecolorallocatealpha
(
$image
,
255
,
0
,
0
,
75
);
$blue
=
imagecolorallocatealpha
(
$image
,
0
,
0
,
255
,
75
);
// 画三个交迭的圆
imagefilledellipse
(
$image
,
$yellow_x
,
$yellow_y
,
$radius
,
$radius
,
$yellow
);
imagefilledellipse
(
$image
,
$red_x
,
$red_y
,
$radius
,
$radius
,
$red
);
imagefilledellipse
(
$image
,
$blue_x
,
$blue_y
,
$radius
,
$radius
,
$blue
);
// 不要忘记输出正确的 header!
header
(
'Content-type: image/png'
);
// 最后输出结果
imagepng
(
$image
);
imagedestroy
(
$image
);
?>
Note
: 本函数需要 GD 2.0.1 或更高版本(推荐 2.0.28 及更高版本)。
欢迎光临 PHP开发笔记 (http://phpvi.com/)
Powered by Discuz! 6.1.0