Those are good solutions but maybe not the easiest to get into especially straight from TP.

I would highly recommend you start with the good old windows GDI.
So yes you need a window, put down a TImage or similar and initalise it with a picture, then you can draw on it on a per pixel basis or copy another TImage onto it fairly fast if you keep the drawing area small...

Here are a few places to start:
- Look up the TBitmap.Scanline function in the Delphi help. It allows you to get the raw pixels of that picture.
- Google Delphi GDI or Delphi Canvas...