I’m working on some image processing and for debug I’m overlaying colours on the original bitmap.
The problem is the image is rendered in a picture box with SizeMode set to Zoom and invalidating every time I update a pixel is Really slow and just gets slower the larger picturebox is (for the same size image)
What I think might help is if I only invalidate the pixel(s) I’ve changed but I don’t know how convert the co-ordinates of the pixel I’ve changed into a rectangle rendered on the control. Obviously if the image is being drawn larger than the original image then the rectangle I’m invalidating is going to be more than one pixel
Added a method to get the zoom and padding of the picture pox
then to invalidate a pixel called invalidate like this:
when I first did this I only invalidated the are directly covered by the pixel but found that this was subject to rounding errors so expanded it to include a few extra.