mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-18 23:59:10 +02:00
LCL: ImgList: use GetBitmap from resolution. Issue #33777
git-svn-id: trunk@58093 -
This commit is contained in:
parent
8acd836a36
commit
21be14b578
@ -1772,33 +1772,8 @@ end;
|
|||||||
|
|
||||||
procedure TCustomImageList.GetBitmap(Index: Integer; Image: TCustomBitmap;
|
procedure TCustomImageList.GetBitmap(Index: Integer; Image: TCustomBitmap;
|
||||||
AEffect: TGraphicsDrawEffect);
|
AEffect: TGraphicsDrawEffect);
|
||||||
var
|
|
||||||
RawImg: TRawImage;
|
|
||||||
ListImg, DeviceImg: TLazIntfImage;
|
|
||||||
ImgHandle, MskHandle: HBitmap;
|
|
||||||
begin
|
begin
|
||||||
if (Count = 0) or (Image = nil) then Exit;
|
GetResolution(FWidth).GetBitmap(Index, Image, AEffect);
|
||||||
|
|
||||||
GetRawImage(Index, RawImg);
|
|
||||||
|
|
||||||
RawImg.PerformEffect(AEffect, True);
|
|
||||||
|
|
||||||
MskHandle := 0;
|
|
||||||
if not CreateCompatibleBitmaps(RawImg, ImgHandle, MskHandle, True)
|
|
||||||
then begin
|
|
||||||
// bummer, the widgetset doesn't support our 32bit format, try device
|
|
||||||
ListImg := TLazIntfImage.Create(RawImg, False);
|
|
||||||
DeviceImg := TLazIntfImage.Create(0,0,[]);
|
|
||||||
DeviceImg.DataDescription := GetDescriptionFromDevice(0, FWidth, FHeight);
|
|
||||||
DeviceImg.CopyPixels(ListImg);
|
|
||||||
DeviceImg.GetRawImage(RawImg);
|
|
||||||
RawImage_CreateBitmaps(RawImg, ImgHandle, MskHandle);
|
|
||||||
DeviceImg.Free;
|
|
||||||
ListImg.Free;
|
|
||||||
end;
|
|
||||||
Image.SetHandles(ImgHandle, MskHandle);
|
|
||||||
|
|
||||||
RawImg.FreeData;
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function TCustomImageList.GetCount: Integer;
|
function TCustomImageList.GetCount: Integer;
|
||||||
|
Loading…
Reference in New Issue
Block a user