GDI+ 学习记录(10): 线性渐变画刷 - LinearGradientBrush
生活随笔
收集整理的這篇文章主要介紹了
GDI+ 学习记录(10): 线性渐变画刷 - LinearGradientBrush
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
為什么80%的碼農都做不了架構師?>>> ??
//線性漸變畫刷 varg: TGPGraphics;lb: TGPLinearGradientBrush;rect: TGPRect; beging := TGPGraphics.Create(Canvas.Handle);rect := MakeRect(11,11,222,111);lb := TGPLinearGradientBrush.Create(rect, aclBlue, aclGreen, LinearGradientModeHorizontal);g.FillEllipse(lb, rect);lb.Free;g.Free; end;//定義漸變的位置與顏色 varg : TGPGraphics;p: TGPPen;lb: TGPLinearGradientBrush;p1,p2: TGPPoint;c1,c2: TGPColor; beging := TGPGraphics.Create(Canvas.Handle);p1 := MakePoint(0, 0);p2 := MakePoint(200, 100);c1 := MakeColor(255, 0, 0, 255);c2 := MakeColor(255, 0, 255, 0);lb := TGPLinearGradientBrush.Create(p1, p2, c1, c2);p:= TGPPen.Create(lb, 10);g.DrawLine(p, 0, 0, 600, 300);g.FillEllipse(lb, 10, 100, 200, 100);lb.Free;p.Free;g.Free; end;//自定義漸變過渡效果 varg : TGPGraphics;lb: TGPLinearGradientBrush;p1,p2: TGPPoint;c1,c2: TGPColor; constFactors: array[0..2] of Single = (0.0, 0.5, 1.0); {顏色比例}Positions: array[0..2] of Single = (0.0, 0.2, 1.0); {位置比例, 兩個數組元素須相同} beging := TGPGraphics.Create(Canvas.Handle);p1 := MakePoint(0, 10);p2 := MakePoint(200, 10);c1 := aclBlack;c2 := aclRed;lb := TGPLinearGradientBrush.Create(p1, p2, c1, c2);lb.SetBlend(@Factors, @Positions, 3); {設置漸變因子}g.FillEllipse(lb, 0, 30, 200, 100);g.FillRectangle(lb, 0, 155, 500, 30);lb.Free;g.Free; end; 線性漸變的方向參數:| LinearGradientModeBackwardDiagonal? | BackwardDiagonal? | 指定從右上到左下的漸變。 |
| LinearGradientModeForwardDiagonal | ForwardDiagonal | 指定從左上到右下的漸變。 |
| LinearGradientModeHorizontal | Horizontal | 指定從左到右的漸變。 |
| LinearGradientModeVertical | Vertical | 指定從上到下的漸變。 |
轉載于:https://my.oschina.net/hermer/blog/320287
總結
以上是生活随笔為你收集整理的GDI+ 学习记录(10): 线性渐变画刷 - LinearGradientBrush的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 将图片转存为其它颜色格式(GDI+)
- 下一篇: 【设计】线框图、原型和视觉稿的区别