Point
 
返回指定像素坐标的颜色属性

语法

result = Point( coord_x , coord_y [,buffer ] )
or
result = Point( function_index )


用法

coord_x
像素的x坐标
coord_y
像素的y坐标
buffer
要读取的图像缓冲区
function_index
要返回的屏幕坐标类型:0123中的一个值

返回值

如果提供像素的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提供有效的结果时,由于额外的计算和检查的开销,重复调用相当慢。使用从ImageInfoScreenInfo/ 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位调色板索引

参考