High speed pixel writing to an image buffer. |
x = x location of the pixel to read y = y location of the pixel to read rgb = rgb pixel value to write buffer = any valid screen/image buffer (optional) |
Command Description:
This command will allow you fast access to a specific pixel in the buffer selected. While the ReadPixelFast command reads the pixel quickly (and it is written back quickly with this command, it is still not fast enough for real-time screen effects. You are required to lock the buffer with LockBuffer and subsequently unlock the buffer with UnlockBuffer when the operations are complete before any other graphics commands can be used. WARNING: You are playing with power. There is nothing keeping you from writing directly to memory off the screen and TRASHING it. You can crash Blitz using this command. |
Example:
; High Speed Graphics Commands Graphics 640,480,16 ; Draw a bunch of crap on the screen For t= 1 To 1000 Color Rnd(255),Rnd(255),Rnd(255) Rect Rnd(640),Rnd(480),Rnd(150),Rnd(150),Rnd(1) Next Delay 3000 ; Copy the top half of the screen over the bottom half ; using fast pixels and locked buffers LockBuffer FrontBuffer() For x = 1 To 640 For y = 1 To 240 WritePixelFast x,y+241,ReadPixelFast(x,y) Next Next UnlockBuffer FrontBuffer() Delay 3000 ; Draw the left half of the screen over the right half ; using the slower direct pixel access For x = 1 To 320 For y = 1 To 480 WritePixel x+320,y,ReadPixel(x,y) Next Next |