程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> Delphi的繪圖功能[11] - TPen類(上)(2)

Delphi的繪圖功能[11] - TPen類(上)(2)

編輯:Delphi

{Mode: 畫筆與背景的顏色混合模式; Delphi 定義了模式枚舉 TPenMode, 包含以下模式:} pmBlack    {總是黑色}
pmWhite    {總是白色}
pmNop     {畫筆無效}
pmNot     {背景色取反}
pmCopy    {畫筆設置的顏色}
pmNotCopy   {畫筆顏色取反}
pmMergePenNot {畫筆顏色與背景顏色的反色的組合}
pmMaskPenNot {畫筆顏色與背景公共色的反色的組合}
pmMergeNotPen {畫筆顏色取反後與背景顏色的組合}
pmMaskNotPen {畫筆的反色與背景的公共色的組合}
pmMerge    {畫筆顏色與背景顏色的組合}
pmNotMerge  {pmMerge 的反色}
pmMask    {畫筆與背景公共顏色的組合}
pmNotMask   {pmMask 的反色}
pmXor     {畫筆顏色與背景顏色的 Xor 組合}
pmNotXor   {pmXor 的反色}

//顏色模式測試程序:var
 i,x,y,w,n: Integer;
begin

{先畫豎的顏色背景} x := 0;
 y := 0;
 w := ClIEntWidth div 18;
 for i := 0 to 18 do
 begin
  Canvas.Brush.Color := PaletteIndex(i);
  Canvas.FillRect(Rect(x, y, x+w, ClIEntHeight));
  x := x + w;
 end;

{再按不同模式依次畫 16 條紅色的橫線} x := 0;
 y := 20;
 n := ClIEntWidth;
 Canvas.Pen.Width := 4;
 Canvas.Pen.Color := clRed;
 for i := 0 to 15 do
 begin
  Canvas.Pen.Mode := TPenMode(i);
  Canvas.MoveTo(x, y);
  Canvas.LineTo(x + n, y);
  y := y + 20;
 end;
end;

//效果圖:

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved