PSet
Plots a single pixel
Syntax
`
PSet [target ,] [STEP] (x, y) [,color]
`
Parameters
`target`
specifies buffer to draw on.
`STEP`
indicates that coordinates are relative
`(x, y)`
coordinates of the pixel.
`color`
the color attribute.
Description
`target` specifies buffer to draw on. `target` may be an image created with `ImageCreate` or `Get (Graphics)`. If omitted, `target` defaults to the screen's current work page.
`(x, y)` are the coordinates of the pixel. `STEP` if present, indicates that `(x, y)` coordinates are relative to the graphics cursor position. If omitted, `(x, y)` are relative to the upper left-hand corner of `target`. The x and y coordinates are affected by the last call to the `View (Graphics)` and `Window` statements, and respect the current clipping region as set by the `View (Graphics)` statement.
`color` specifies the color attribute. If omitted, `color` defaults to the current foreground color. See `Color`. `color` is graphics mode specific, see `Color` and `Screen (Graphics)` for details.
Optimization note: while Pset and the opposite `Point` provide valid results, they are very slow. Much better performance can be achieved by using `Poke` after calculating the address yourself from values obtained from `ImageInfo` and `ScreenInfo`, or even more usig inline ASM.
Example
`
' Set an appropriate Screen mode.
Screen 14
' Plot a pixel at the coordinates 100, 100, Color 15. (white)
PSet (100, 100), 15
' Confirm the operation.
Locate 1: Print "Pixel plotted at 100, 100"
' Wait for a keypress.
Sleep
' Plot another pixel at the coordinates 150, 150, Color 4. (red)
PSet (150, 150), 4
' Confirm the operation.
Locate 1: Print "Pixel plotted at 150, 150"
' Wait for a keypress.
Sleep
' Plot a third pixel relative to the second, Color 15. (white)
' This pixel is given the coordinates 60, 60. It will be placed
' at 60, 60 plus the previous coordinates (150, 150), thus plotting at 210, 210.
PSet Step (60, 60), 15
' Confirm the operation.
Locate 1: Print "Pixel plotted at 150 + 60, 150 + 60"
' Wait for a keypress
Sleep
' Close the program
End
`
Differences from QB

- `target` is new to FreeBASIC

See also

- `Point` - read out pixels
- `PReset`
- `View (Graphics)`
- `Window`