Bir QR Kodunu bir Grafik32 - TImage32 Bileşenine boyamak için Barcode Studio 2011 kullanıyorum ve png biçiminde kaydetmek istiyorum ancak beyaz renk olarak saydam olarak tanımladım.Bir png dosyasını saydamlıkla nasıl kaydederim?
OnFormCreate Sadece
procedure TForm1.FormCreate(Sender: TObject);
begin
psBarcodeComponent1.BarCode := 'some text here...';
end;
var ve bir Düğme tıklayın Olay atanan resim var an için
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;
Ben PNG Format içine Bitmap dönüştürmek Vampyre Imaging Library kullanıyorum ama herhangi bir kütüphaneyi, işlevi ve tavsiyeyi memnuniyetle kullanacağım - neredeyse bir hafta boyunca bunu yapmaya çalışıyorum! Ben grafik32 ve Vampyre Imaging Library'nin belgelerini okudum ve yeniden okudum ama denediğim hiçbir şey beyazı saydam bir renge dönüştürecektir.
Bu benim kaydederek am nasıl) ...
; ben CLWhite, clWhite32 ve ayrıca dmBlend DrawMode ayarlama ve boşuna ama bol hayal kırıklığı, kahve ve biraz da bira tüm Chromakey İşlevini uygulayarak denediprocedure 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;
Bu, Siyah renkli bir küçük resim ile sonuçlanır ve Windows Photo Viewer'da görüntülendiğinde tamamen saydamdır.
Umarım yeterince bilgi vermişimdir ve birinin bana yardım edebileceğini umuyorum.
Chris
bmp.transparentColor'u ayarladığınızda ne olur? = ClWhite; bmp.outerColor yerine: = clWhite? – ComputerSaysNo
TBitmap32'de bunun için üye yok - Ayrıca bir Pixel'den OuterColor'u seçmeye çalıştım ama hiçbir etkisi yok. bmp.OuterColor: = bmp.Piksel [0,1]; – Shambhala