mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-04-15 14:29:31 +02:00
lcl:
- fix Init_BPP32_B8G8R8A8_M1_BIO_TTB - fix PngReader - it now handles 1 color transparent png images git-svn-id: trunk@15571 -
This commit is contained in:
parent
53eb1c68b1
commit
36feee63d6
@ -784,7 +784,7 @@ end;
|
||||
|
||||
procedure TRawImageDescription.Init_BPP32_B8G8R8A8_M1_BIO_TTB(AWidth, AHeight: integer);
|
||||
begin
|
||||
Init_BPP32_B8G8R8A8_BIO_TTB(Width, Height);
|
||||
Init_BPP32_B8G8R8A8_BIO_TTB(AWidth, AHeight);
|
||||
|
||||
MaskBitsPerPixel := 1;
|
||||
MaskBitOrder := riboBitsInOrder;
|
||||
|
@ -125,7 +125,7 @@ begin
|
||||
SCB.FImage.FreeData;
|
||||
IntfImg.GetRawImage(SCB.FImage, True);
|
||||
SCB.FHasMask := IntfImg.HasMask;
|
||||
if not IntfImg.HasMask
|
||||
if not SCB.FHasMask
|
||||
then SCB.FImage.Description.MaskBitsPerPixel := 0;
|
||||
finally
|
||||
LazReader := nil;
|
||||
|
@ -18,7 +18,7 @@
|
||||
|
||||
constructor TGraphic.Create;
|
||||
begin
|
||||
Inherited Create;
|
||||
inherited Create;
|
||||
end;
|
||||
|
||||
procedure TGraphic.Clear;
|
||||
|
@ -2924,7 +2924,7 @@ end;
|
||||
|
||||
function TLazIntfImage.HasMask: boolean;
|
||||
begin
|
||||
Result := FMaskSet;
|
||||
Result := FMaskSet or FRawImage.IsMasked(False);
|
||||
end;
|
||||
|
||||
constructor TLazIntfImage.Create(AWidth, AHeight: integer);
|
||||
@ -5101,10 +5101,14 @@ begin
|
||||
if FUpdateDescription and (theImage is TLazIntfImage)
|
||||
then begin
|
||||
// init some default
|
||||
Desc.Init_BPP32_B8G8R8A8_BIO_TTB(Header.Width, Header.height);
|
||||
|
||||
IsGray := Header.ColorType and 3 = 0;
|
||||
IsAlpha := (Header.ColorType and 4 <> 0) or FAlphaPalette;
|
||||
// Paul: todo - remove UseTransparent and use mask if no alpha
|
||||
IsAlpha := (Header.ColorType and 4 <> 0) or FAlphaPalette or UseTransparent;
|
||||
|
||||
if not IsAlpha and UseTransparent
|
||||
then Desc.Init_BPP32_B8G8R8A8_M1_BIO_TTB(Header.Width, Header.height)
|
||||
else Desc.Init_BPP32_B8G8R8A8_BIO_TTB(Header.Width, Header.height);
|
||||
|
||||
if IsGray
|
||||
then Desc.Format := ricfGray;
|
||||
|
Loading…
Reference in New Issue
Block a user