title: How do I print a partially transparent image to a PDF Canvas using Delphi?
body: <p>My program needs to output a (fairly complex) form to the printer, including several images.  I’m currently doing this using Delphi (2006)’s <code>Printer.Canvas</code>, after selecting a PDF printer (PDF995).  This works like a treat.</p>
  
  <p>However, I’m now running into a problem: there’s one partially transparent image that needs to be placed on top of other elements (borders, background and such), with portions of that text still visible through parts of the image.</p>
  
  <p>Doing this on a regular screen <code>Canvas</code> works fine with regular <code>TBitmap</code>s, by using the <code>TransparentColor</code> property.  However, when I try to do this on a printer, it doesn’t always work; and when I try this on a PDF printer, it never works:  the background turns black, or (the best result so far), turns white, but still overwrites anything underneath it.</p>
  
  <p>I’ve tried achieving the same result by inserting a PNG image with alpha transparency (a.k.a. translucency) in a Word document, and then sending that to said PDF printer.  The translucency disappears, but pixel transparency is maintained.  So that, at least, should somehow be possible.</p>
  
  <p>Anybody know how?</p>