绘制单个像素
语法
PSet [target ,] [STEP] (x , y ) [,color ]
参数
target
指定要绘制的缓冲区。
STEP
表示坐标是相对的
(x, y )
像素的坐标。
color
颜色属性。
说明
target 指定要绘制的缓冲区。
target 可能是使用
ImageCreate或
Get (图形)创建的图像。如果省略,
target 默认为屏幕的当前工作页面。
(x, y )是像素的坐标。
STEP如果存在,表示
(x, y )坐标是相对于图形光标位置。如果省略,
(x, y )相对于
target 的左上角。x和y坐标受最后一次调用
View (图形)和
Window语句的影响,并且遵守由
View (图形)语句设置的当前剪切区域。
color 指定颜色属性,作为8个bpp索引模式中的8位调色板索引,16个bpp模式中的24位RGB值(未使用的整数的高8位,R,G,B的有限精度),和32位bpp模式中的32位RGB或RGBA值(高8位未使用或持有Alpha)。请注意,它不接受16位值(5位R + 6位G + 5位B)。如果省略,
color 默认为当前前景色。
速记:当
PSet提供有效的结果时,由于额外的计算和检查的开销,重复调用相当慢。使用从
ImageInfo和
ScreenInfo/
ScreenPtr获得的结果使用直接存储器访问可以实现更好的性能。
例子
'设置适当的屏幕模式 - 320 x 240 x 8bpp索引颜色
ScreenRes 320, 240, 8
'在坐标100,100,颜色15处绘制像素。(白色)
PSet (100, 100), 15
'确认操作。
Locate 1: Print "像素绘制在100,100"
'等待按键。
Sleep
'在坐标150,150,颜色4处绘制另一个像素。(红)
PSet (150, 150), 4
'确认操作。
Locate 1: Print "像素绘制在150,150"
'等待按键。
Sleep
'绘制第三个像素相对于第二个,颜色15。(白色)
'该像素被赋予坐标60,60。它将被放置
'在60°,60°加上先前的坐标(150,150),因此绘制在210,210。
PSet Step (60, 60), 15
'确认操作。
Locate 1: Print "像素绘制在150 + 60,150 + 60"
'等待按键
Sleep
'显式程序结束
End
与QB差别
- target 是FreeBASIC的新功能
- 在16 bpp和32 bpp模式下,需要一个32位值,而不是8位调色板索引
参考