저는 Barcode Studio 2011을 사용하여 QR 코드를 Graphics32-TImage32 구성 요소에 페인팅하고 있는데이 구성을 PNG 형식으로 저장하려고합니다. 그러나 흰색으로 표시하려면 투명하게 지정해야합니다. 이는 Graphics32의 OuterColor에 지정되어 있습니다.투명도가있는 png 파일을 저장하는 방법은 무엇입니까?
OnFormCreate 난 그냥
procedure TForm1.FormCreate(Sender: TObject);
begin
psBarcodeComponent1.BarCode := 'some text here...';
end;
을 가지고 있고이 버튼을 클릭 이벤트에 할당 된 그림을 가지고있는 순간
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;
내가 PNG 형식으로 비트 맵 변환 뱀파이어 (Vampyre) 이미징 라이브러리를 사용하고 있습니다 그러나 나는 기꺼이 도서관, 기능 및 조언을 사용할 것입니다 - 나는 이것을 거의 일주일 동안 지금하려고 노력했습니다! 필자는 graphics32의 문서와 Vampyre Imaging Library의 문서를 다시 읽었습니다. 그러나 내가 시도하지 않은 것은 흰색을 투명한 색으로 변환합니다.
이 내가 그것을 저장하고 어떻게) ...
, 나는 clWhite, clWhite32 또한 dmBlend에 drawMode을 설정하고 아무 소용이 있지만, 많은 좌절, 커피, 또한 약간의 맥주에 모든 크로 마키 기능을 적용을 시도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;
이렇게하면 검정 색의 미리보기 이미지가되고 Windows 사진 뷰어에서 볼 때 완전히 투명합니다.
충분한 정보를 제공하고 누군가가 나를 도울 수 있기를 바랍니다.
크리스
bmp.transparentColor : = clWhite를 설정하면 어떻게됩니까? bmp.outerColor 대신에 : clWhite? – ComputerSaysNo
TBitmap32에 해당 멤버가 없습니다. Pixel에서 OuterColor를 선택하려고했지만 효과가 없습니다. bmp.OuterColor : = bmp.Pixel [0,1]; – Shambhala