代码之家  ›  专栏  ›  技术社区  ›  Paul

透明的颜色?

  •  0
  • Paul  · 技术社区  · 5 年前
    headingGPImage := TGPImage.Create('heading.bmp');
    

    这个 heading.bmp

    var
      GPGraphics: TGPGraphics;
    begin
      GPGraphics.DrawImage(headingGPImage, slider3.Position * 4, 200);
    end;
    

    使用透明颜色?

    1 回复  |  直到 5 年前
        1
  •  0
  •   Paul    5 年前

    适用于白色背景的png和bmp:

    var dest: TGPRect;
    
    attr := TGPImageAttributes.Create;
    attr.SetColorKey($FFFFFF, $FFFFFF);
    dest.X := 0;
    dest.Y := 0;
    dest.Width := headingGPImage.GetWidth;
    dest.Height := headingGPImage.GetHeight;
    GPGraphics.DrawImage(headingGPImage, dest,
         0, 0, Round(headingGPImage.GetWidth), Round(headingGPImage.GetHeight), 
         UnitPixel, 
         attr);