|
|
 |
imagecolorat (PHP 3, PHP 4 , PHP 5) imagecolorat -- 取得某像素的颜色索引值 说明int imagecolorat ( resource image, int x, int y)
返回 image 所指定的图形中指定位置像素的颜色索引值。
如果 PHP 编译时加上了 GD 库 2.0
或更高的版本并且图像是真彩色图像,则本函数以整数返回该点的 RGB
值。用移位加掩码来取得红,绿,蓝各自成分的值:
例子 1. 取得各自的 RGB 值 |
<?php
$im = ImageCreateFromPng("rockym.png");
$rgb = ImageColorAt($im, 100, 100);
$r = ($rgb >> 16) & 0xFF;
$g = ($rgb >> 8) & 0xFF;
$b = $rgb & 0xFF;
?>
|
|
参见 imagecolorset() 和
imagecolorsforindex()。
pete at spamisbad_holidian dot com
05-Jul-2002 03:36
If you have a truecolor image and absolutely need to get the actual color
of a pixel, it seems like you could create a 16x16 indexed color image from
a part of the True Color image containing the pixel(s) in question. Then
you should be able to guarantee that the indexed sample has the indentical
colors to the True Color image. you can then use this function to get the
color index of a pixel in the sample.
Obviously, this would be an
intensive way to get pixel colors, especially for a large image, but as far
as I can tell, it's one of the very few ways to do it right now.
| |