capture canvas data right away, in case a redraw happens while getting the message, making it different