¿Cómo guardar un archivo png con transparencia?

Estoy usando Barcode Studio 2011 para pintar un código QR en un componente Graphics32 - TImage32 y quiero guardarlo en formato png pero con el color blanco transparente que he especificado en el OuterColor de Graphics32.

OnFormCreate Acabo de

procedure TForm1.FormCreate(Sender: TObject);
begin
  psBarcodeComponent1.BarCode := 'some text here...';
end;

y por el momento tengo la pintura asignada a un evento de clic de botón

procedure TForm1.Button8Click(Sender: TObject); // Paint the barcode
var
  bmp: TBitmap32;
  Coords: TRect;
begin
 bmp := TBitmap32.Create;
 bmp.SetSize(image.Width, image.Height);
 bmp.Canvas.Brush.Color := color;
 bmp.Canvas.Rectangle(-1, -1, image.Width+2, image.Height+2);

 bmp.DrawMode := dmTransparent;
 bmp.OuterColor := clWhite;

 // make Coords the size of image
 Coords := Rect(0,0,image.Width,image.Height);
 psBarcodeComponent1.PaintBarCode(bmp.Canvas, Coords);
 image.Bitmap.Assign(bmp);
end;

Estoy usando la Biblioteca de imágenes de Vampyre para convertir el mapa de bits en formato PNG, pero con gusto usaré cualquier biblioteca, función y consejo. ¡He estado intentando hacer esto durante casi una semana! He leído y releído la documentación de graphics32 y también de Vampyre Imaging Library, pero nada de lo que intento convertirá el blanco a un color transparente. Intenté clWhite, clWhite32 y también configuré el drawMode en dmBlend y apliqué la función ChromaKey en vano, pero también mucha frustración, café y un poco de cerveza;)

Así es como lo estoy guardando ...

procedure TForm1.Button7Click(Sender: TObject); // Save with Vampyre Imaging Lib
{ Try to save in PNG format with transparancy }
var
  FImage: TSingleImage;
begin
  FImage := TSingleImage.Create;
  ConvertBitmap32ToImage(image.Bitmap, FImage);
  FImage.SaveToFile('VampyreLibIMG.png');
end;  

Esto da como resultado una miniatura en color negro y cuando se ve en Windows Photo Viewer es completamente transparente.

Espero haber proporcionado suficiente información y que alguien pueda ayudarme.

Chris

Respuestas a la pregunta(2)

Su respuesta a la pregunta