PSET
来源: https://www.freebasic.net/wiki/wikka.php?wakka=KeyPgPset 最后更新: 2023-07-09
绘制单个像素。
语法
PSet [target ,] [STEP] (x, y) [, color]参数
- target — 可选;指定要绘制的缓冲区(来自
ImageCreate或Get (Graphics))。默认为屏幕当前工作页面。 - STEP — 表示坐标相对于当前图形光标位置。
- (x, y) — 像素坐标。
- color — 颜色属性。如果省略,默认为当前前景颜色。
- 8 bpp:8 位调色板索引
- 16 bpp:24 位 RGB 值(高 8 位未使用,精度有限)
- 32 bpp:32 位 RGB 或 RGBA 值(高 8 位未使用或保存 Alpha)
说明
在坐标 (x, y) 处绘制单个像素。
x 和 y 坐标受上次调用 View (Graphics) 和 Window 的影响,并遵守当前裁剪区域。
速度注意: 由于开销,PSet 对于重复调用相对较慢。对于性能关键代码,通过 ImageInfo 和 ScreenInfo/ScreenPtr 使用直接内存访问。
示例
vb
' Set 320×240×8bpp indexed color mode
ScreenRes 320, 240, 8
' Plot a white pixel at (100, 100)
PSet (100, 100), 15
Locate 1: Print "Pixel plotted at 100, 100"
Sleep
' Plot a red pixel at (150, 150)
PSet (150, 150), 4
Locate 1: Print "Pixel plotted at 150, 150"
Sleep
' Plot relative to previous: (150+60, 150+60) = (210, 210)
PSet Step (60, 60), 15
Locate 1: Print "Pixel plotted at 150 + 60, 150 + 60"
Sleep
End与 QB 的区别
target是 FreeBASIC 新增的。- 在 16bpp 和 32bpp 模式下,需要 32 位值而不是 8 位调色板索引。