>>623
描く頻度が少ないならそれでいいでしょう。
処理が落ちそうと心配なら

with TNkDIBCanvas.Create(image2.picture.graphic as tnkdib) do try
 TextOut(20, 50, '●');
finally Free; end;
と一時オブジェクトをtryで受けて finally でfreeするコーディングにすれば大丈夫でしょう。
無名なので、どこかに忘れたりする心配がありませんから

もし、もっと格好良く書きたいなら、 TImageのCanvasをTNkDIBCanvasに置き換えたコンポーネントを作ればどうかと思います