本文整理自网络,侵删。
//向ImageList中加入png类型的资源图片procedure AddPngToImageList(AImageList: TImagelist; AResName: string);var LResStream: TStream; LPng: TPngImage; LBitMap, LRowBitMap: TBitmap; LRect, LRowRect: TRect;begin //AImageList.DrawingStyle := dsTransparent; AImageList.ColorDepth := cd32Bit; LResStream := TResourceStream.Create(uResourcesImpl.GetResHandle, AResName, RT_RCDATA); LPng := TPngImage.Create; LBitMap := TBitmap.Create; try LPng.LoadFromStream(LResStream); LBitMap.Assign(LPng); LBitMap.AlphaFormat := afIgnored; if LBitMap.Height > AImageList.Height then begin LRowBitMap := TBitmap.Create; try LRowBitMap.Width := LBitMap.Width; LRowBitMap.Height := AImageList.Height; LRect := Rect(0, 0, LBitMap.Width, LRowBitMap.Height); LRowRect := Rect(0, 0, LRowBitMap.Width, LRowBitMap.Height); while LRect.Bottom <= LBitMap.Height do begin LRowBitMap.Canvas.CopyRect(LRowRect, LBitMap.Canvas, LRect); OffsetRect(LRect, 0, LRowBitMap.Height); AImageList.Add(LRowBitMap, nil); end; finally LRowBitMap.Free; end; end else AImageList.Add(LBitMap, nil); finally LResStream.Free; LPng.Free; LBitMap.Free; end;end;
相关阅读 >>
Delphi idmessage1 idsmtp1 发送邮件支持https
Delphi winapi: flashwindow - 闪烁窗口
更多相关阅读请进入《Delphi》频道 >>