现在的位置: 首页 > 综合 > 正文

GdiPlus[20]: IGPPathGradientBrush 之 SetFocusScales

2012年03月01日 ⁄ 综合 ⁄ 共 674字 ⁄ 字号 评论关闭
测试效果图:



测试代码:


uses GdiPlus;

procedure TForm1.FormPaint(Sender: TObject);
var
  Graphics: IGPGraphics;
  Brush: IGPPathGradientBrush;
  Rect: TGPRect;
  Path: IGPGraphicsPath;
begin
  Graphics := TGPGraphics.Create(Handle);
  Rect.Initialize(10, 10, 180, 100);
  Path := TGPGraphicsPath.Create;
  Path.AddEllipse(Rect);

  Brush := TGPPathGradientBrush.Create(Path);
  Brush.CenterColor := $FF00FF00;
  Brush.SetSurroundColors([$FF000000]);

  Brush.SetFocusScales(0, 0); //这是默认设置
  Graphics.FillEllipse(Brush, Rect);

  Brush.SetFocusScales(0.5, 0);
  Graphics.TranslateTransform(0, Rect.Y + Rect.Height);
  Graphics.FillEllipse(Brush, Rect);

  Brush.SetFocusScales(0, 0.5);
  Graphics.TranslateTransform(0, Rect.Y + Rect.Height);
  Graphics.FillEllipse(Brush, Rect);
end;

抱歉!评论已关闭.