From mboxrd@z Thu Jan 1 00:00:00 1970 MIME-Version: 1.0 In-Reply-To: <14ec7b180903041337t1b2f9712v20e13a7d40ba52ed@mail.gmail.com> References: <14ec7b180903041337t1b2f9712v20e13a7d40ba52ed@mail.gmail.com> Date: Wed, 4 Mar 2009 14:42:53 -0700 Message-ID: <14ec7b180903041342y4f84b9d7n9a2fb521dabd0441@mail.gmail.com> From: andrey mirtchovski To: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net> Content-Type: multipart/mixed; boundary=000e0cd22cd81931ac046451ef57 Subject: Re: [9fans] Porter-Duff alpha blending Topicbox-Message-UUID: b20b3134-ead4-11e9-9d60-3106f5b1d025 --000e0cd22cd81931ac046451ef57 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit to see how it should look when drawn correctly use "type = ARGB32" and RGB24 for black's allocimage(). see attached. the alpha blending still works because when downgrading from ARGB32->RGB24 (for drawing onto "black") the library still takes the source color from black without issues. the bugs appear when 32-bit channels are being used for source and destination. --000e0cd22cd81931ac046451ef57 Content-Type: image/png; name="RGB24.png" Content-Disposition: attachment; filename="RGB24.png" Content-Transfer-Encoding: base64 X-Attachment-Id: f_frwjbkv10 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 X+/duzebXnox9UYtp8+cyfj41WzcuNFDAQAgQmiOrVu33vT1+Ph4Ll68kN3vvpn+/rWZnZ3Nrl27 PBQAACKE1tm9e3de37Y1v/16KmfPnsnOnTs9CgAAD12nJ3h0nTt3Ln19ZQ8BAMD/ik9CAAAAEQIA AIgQAAAAEQIAAIgQAAAAEQIAAIgQAABAhAAAAIgQAABAhAAAAIgQAABAhAAAAIgQAABAhAAAACIE AABAhAAAACIEAABAhAAAACIEAABAhAAAACIEAAAQIQAAACIEAAAQIQAAACIEAAAQIQAAgAgBAAAQ IQAAgAgBAAAQIQAAgAgBAAAQIQAAgAgBAABECAAAgAgBAABECAAAgAgBAABECAAAgAgBAABECAAA IEIAAABECAAAIEIAAABECAAAIEIAAABECAAAIEIAAAARAgAAIEIAAAARAgAAIEIAAAARAgAAiBAA AAARAgAAiBAAAAARAgAAiBAAAAARAgAAiBAAAECEAAAAiBAAAECEAAAAiBAAAECEAAAAiBAAAECE AAAAIgQAAECEAAAAIgQAAECEAAAAIgQAABAhngAAABAhAACACAEAABAhAACACAEAABAhAACACAEA AEQIAACACAEAAEQIAACACAEAAEQIAACACAEAAEQIAAAgQgAAAEQIAAAgQgAAAEQIAAAgQgAAAEQI AAAgQgAAABECAAAgQgAAABECAAAgQgAAABECAACIEAAAABECAACIEAAAABECAACIEAAAABECAACI EAAAQIQAAACIEAAAQIQAAACIEAAAQIQAAACIEAAAQIQAAAAiBAAAQIQAAAAiBAAAQIQAAAAiBAAA QIQAAAAiBAAAECEAAAAiBAAAECEAAAAiBAAAECEAAIAIAQAAECEAAIAIAQAAECEAAIAIAQAAECEA AIAIAQAARAgAAEDLdN76jcFKxasAAAAt45MQAABAhAAAACIEAACgKf4BJZxaizWwxBIAAAAASUVO RK5CYII= --000e0cd22cd81931ac046451ef57--