日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

再学 GDI+[68]: 路径画刷(8) - SetBlendTriangularShaped、SetBlendBellShape

發布時間:2025/4/5 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 再学 GDI+[68]: 路径画刷(8) - SetBlendTriangularShaped、SetBlendBellShape 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
本例效果圖(顏色失真嚴重, 因為 GIF 最多只能接受 256 中顏色):



代碼文件:
unit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, ComCtrls, StdCtrls, ExtCtrls;typeTForm1 = class(TForm)TrackBar1: TTrackBar;TrackBar2: TTrackBar;RadioGroup1: TRadioGroup;procedure FormCreate(Sender: TObject);procedure FormPaint(Sender: TObject);procedure RadioGroup1Click(Sender: TObject);procedure TrackBar1Change(Sender: TObject);procedure TrackBar2Change(Sender: TObject);end;varForm1: TForm1;implementation{$R *.dfm}uses GDIPOBJ, GDIPAPI;procedure TForm1.FormCreate(Sender: TObject); beginTrackBar1.Max := 100;TrackBar2.Max := 100;TrackBar1.Position := TrackBar1.Max;TrackBar2.Position := TrackBar2.Max;TrackBar1.ShowSelRange := False;TrackBar2.ShowSelRange := False;TrackBar1.Height := 23;TrackBar2.Height := 23;RadioGroup1.Items.CommaText := 'BlendTriangularShape, SetBlendBellShape';RadioGroup1.ItemIndex := 0;DoubleBuffered := True; end;procedure TForm1.FormPaint(Sender: TObject); constcolors: array[0..0] of TGPColor = (aclRed); varg: TGPGraphics;path: TGPGraphicsPath;pb: TGPPathGradientBrush;num: Integer; beging := TGPGraphics.Create(Canvas.Handle);path := TGPGraphicsPath.Create;path.AddRectangle(MakeRect(30,10,160,150));pb:= TGPPathGradientBrush.Create(path);num := Length(colors);pb.SetSurroundColors(@colors, num);pb.SetCenterColor(aclYellow);{SetBlendTriangularShape 與 SetBlendBellShape 參數2的默認值都是 1.0}case RadioGroup1.ItemIndex of0: pb.SetBlendTriangularShape(TrackBar1.Position/100, TrackBar2.Position/100);1: pb.SetBlendBellShape(TrackBar1.Position/100, TrackBar2.Position/100);end;g.FillPath(pb, path);pb.Free;path.Free;g.Free; end;procedure TForm1.RadioGroup1Click(Sender: TObject); beginRepaint; end;procedure TForm1.TrackBar1Change(Sender: TObject); beginRepaint; end;procedure TForm1.TrackBar2Change(Sender: TObject); beginRepaint; end;end. 窗體文件:
object Form1: TForm1Left = 0Top = 0Caption = 'Form1'ClientHeight = 261ClientWidth = 221Color = clBtnFaceFont.Charset = DEFAULT_CHARSETFont.Color = clWindowTextFont.Height = -11Font.Name = 'Tahoma'Font.Style = []OldCreateOrder = FalsePosition = poDesktopCenterOnCreate = FormCreateOnPaint = FormPaintPixelsPerInch = 96TextHeight = 13object TrackBar1: TTrackBarLeft = 0Top = 167Width = 113Height = 45TabOrder = 0OnChange = TrackBar1Changeendobject TrackBar2: TTrackBarLeft = 108Top = 167Width = 113Height = 45TabOrder = 1OnChange = TrackBar2Changeendobject RadioGroup1: TRadioGroupLeft = 8Top = 192Width = 206Height = 61Caption = 'RadioGroup1'TabOrder = 2OnClick = RadioGroup1Clickend end

總結

以上是生活随笔為你收集整理的再学 GDI+[68]: 路径画刷(8) - SetBlendTriangularShaped、SetBlendBellShape的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。