Na erstmal prüf ich, ob der Prozedur ein Sender übergeben wurde - bei manuellem Aufruf kann der fehlen, aber eigentlich kannste das auch weglassen.
Dann caste ich den Sender als TStringgrid, da Sender ja TObject ist.
mit Canvas.Draw wird das Bild gemalt
und finally gehört zum Create von bm, also
Delphi-Quellcode:
bm := TBitmap.Create; //Bitmap erstellen
try
...
finally
FreeAndNil(bm); //Zum Schluss Bitmap wieder freigeben
end;