There is a TDrawableImage.Color which multiplies the color of every pixel of the image by the specified color. I don’t think there are more elaborate blending options, however, you can literally copy-paste custom shader from TDrawableImage and use a different formula for color calculation (e.g. calculate HSL value and multiply it by color instead of by-channel multiplication which in case of non-grayscale images may give a better result).
I have come up with a solution. Since CGE does not support color replacement, I can only bypass CGE
Replace the color of the png first, and then draw it again
2D games often use replacement colors to change character images, such as changing hair colors (not mixing, but replacing colors). We hope that CGE can add this feature as soon as possible.