返回指定像素坐标的颜色属性
语法
result = Point( coord_x , coord_y [,buffer ] )
or
result = Point( function_index )
用法
coord_x
像素的x坐标
coord_y
像素的y坐标
buffer
要读取的图像缓冲区
function_index
要返回的屏幕坐标类型:0,1,2,3中的一个值
返回值
如果提供像素的
x , y 坐标
Point返回指定坐标处的颜色属性,作为8个bpp索引模式中的8位调色板索引,则以16个bpp模式(高8位)为24位RGB值的整数未使用,R,G,B的精度有限)以及32个bpp模式(高8位未使用或持有Alpha)的32位RGB或RGBA值。请注意,它不返回16位值(5位R + 6位G + 5位B)。
如果参数是函数索引,
Point返回由最后一个图形命令设置的图形光标坐标之一。
论据 | 回报价值 |
0 | 当前的物理x坐标。 |
1 | 当前的物理y坐标。 |
2 | 当前视图x坐标。如果尚未使用WINDOW语句,则返回与POINT(0)函数相同的值。 |
3 | 当前视图y坐标。如果尚未使用WINDOW语句,则返回与POINT(1)函数相同的值。 |
说明
GfxLib功能有两种不同的用途。
如果提供两个坐标,它将读取屏幕坐标
coord_x coord_y 或
buffer (如果提供)的像素颜色。
值返回是256色或更少颜色
Screen中的颜色索引和真彩色模式中的
RGB值。如果坐标是离屏或非缓冲,则返回
-1
如果提供单个值,则返回由执行的最后一个图形命令设置的图形游标的坐标之一。如果最后一个命令在缓冲区中执行,返回的值将是缓冲区中的坐标。超出范围
0 -
3的参数将返回
0.
函数
Point在文本模式下不起作用。
速记:当
Point提供有效的结果时,由于额外的计算和检查的开销,重复调用相当慢。使用从
ImageInfo和
ScreenInfo/
ScreenPtr获得的结果使用直接存储器访问可以实现更好的性能。
例子
'设置适当的屏幕模式 - 320 x 240 x 8bpp索引颜色
ScreenRes 320, 240, 8
'用颜色12(浅红色)画一条线
Line (20,20)-(100,100), 12
'打印一行点的颜色
Print Point(20,20)
'程序关闭前休眠
Sleep
输出:
12
与QB差别
- buffer 是FreeBASIC的新功能
- 在16 bpp和32 bpp模式下,返回一个32位值,而不是一个8位调色板索引
参考