Skip to content

PSET

来源: https://www.freebasic.net/wiki/wikka.php?wakka=KeyPgPset 最后更新: 2023-07-09

绘制单个像素。

语法

PSet [target ,] [STEP] (x, y) [, color]

参数

  • target — 可选;指定要绘制的缓冲区(来自 ImageCreateGet (Graphics))。默认为屏幕当前工作页面。
  • STEP — 表示坐标相对于当前图形光标位置。
  • (x, y) — 像素坐标。
  • color — 颜色属性。如果省略,默认为当前前景颜色。
    • 8 bpp:8 位调色板索引
    • 16 bpp:24 位 RGB 值(高 8 位未使用,精度有限)
    • 32 bpp:32 位 RGB 或 RGBA 值(高 8 位未使用或保存 Alpha)

说明

在坐标 (x, y) 处绘制单个像素。

xy 坐标受上次调用 View (Graphics)Window 的影响,并遵守当前裁剪区域。

速度注意: 由于开销,PSet 对于重复调用相对较慢。对于性能关键代码,通过 ImageInfoScreenInfo/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 位调色板索引。

另请参阅

基于 FreeBASIC 官方文档翻译 如有侵权请联系我们删除
FreeBASIC 是开源项目,与微软公司无隶属关系