When using the Proc.Fill() method of TImageEnView to dynamically change colors with an Opacity value of 0.5, after changing the color several times, the original image is no longer visible. What is the reason for this, and is there a way to fix it?
Fill does not alter the alpha channel, only performs a color blend with the existing image content. So each time you fill at 0.5 opacity, you are making the image 50% solid color.
If you instead want to make the image 50% transparent use
Image formats do not support that. You can make an image 50% transparent, but then it won't be 50% blue (unless displayed over a blue background). The only way to make an image 50% blue is to perform a 50% blend with blue (and 0% transparency). If you then apply 50% red then you are going to get a result which is 25% image, 25% blue and 50% red, etc.
Your only option is to restore the original image and apply the new color changes to it.