Самый простой способ - обновить поле изображения для какого-либо обратного вызова, получаемого вами с каждым кадром:
Bitmap bm = ...;
using (Graphics gr = Graphics.FromImage(bm))
{
gr.DrawRectangle(somePoint, someRectangle);
}
pictureBox.Image = bm;
Недостатком этого метода является то, что изображение не обновится само, если не появится другой кадр, поэтому вывозможно, придется использовать другие методы для вызова действия рисования.Вы также можете использовать gr.DrawString и любые другие методы в классе Graphics для рисования на растровое изображение.