ghostpdl-9.52-test-base-4
tagged this
01 May 23:24
The issue this branch is trying to solve is to ensure that the alpha blending occurs in the proper page group color space. If the page group is CMYK and the device is RGB then the final alpha blend must occur prior to the color conversion. Currently with the head code this is not the case. This work required a significant rework of how the transparency group pop occurred since if it is the final group, the blend will not occur until the put_image operation. The group color handling was completely reworked and simplified. The reworked code now maintains a group_color object that is related to its own color rather than the parent as before. In addition, during the push_device operation, a buffer is not created. Previously an entire page buffer was created. If we have a page group that is smaller than the whole page, this will save us in space. The downside of this is that we need to ensure we have a buffer in place when the first drawing operation occurs. There were several issues with the bitrgbtags devices as well as the pngalpha and psdcmyk16 devices that had to be considered during the put_image operation. operation