ScanLine ist für den "Schnellen" Zugriff auf Zeilen, und dort muß man immer auf das PixelFormat achten, da auf die Rohdaten zugegriffen wird.
Ansonsten alle Methoden im
TCanvas, wie z.B. Bitmap.Canvas.Pixels[x,y] (auch wenn Pixels nicht die schnellste Methode ist)
und via Bitmap.Handle (HBITMAP) oder Bitmap.Canvas.Handle (HDC) können auch viele weitere Methoden verwendet werden, welche direkt mit den Windows-Handles arbeiten.
PS:
- auf ein TImage (Image.Picture.Bitmap) zeichnen
- oder intern auf ein Bitmap und das dann auf die Form (macht TImage nicht viel anders)
- oder direkt im OnPaint auf die Form, bzw. auf eine TPaintBox
- und dann gibt es noch unzählige Graphic-Engines, wo du nicht selbst malst, sondern z.B. Sprites (Teil-Bitmaps) und nur noch deren Position angibst
Andorra 2D uvm. Delphi 2D graphic engine
- ...
- und ich bin mir ganz sicher, dass es hier im Forum viele Tutorials gibt, bezüglich dem Zeichnen von 2D-Rastergrafiken für einfache Spiele