程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 使用點,刷子,筆進行繪圖

使用點,刷子,筆進行繪圖

編輯:關於C語言

 

在Windows中畫點的方法很簡單,只需要調用COLORREF CDC::SetPixel( int x, int y, COLORREF crColor )就可以在指定點畫上指定顏色,同時返回原來的顏色。COLORREF CDC::GetPixel( int x, int y)可以得到指定點的顏色。在Windows中應該少使用畫點的函數,因為這樣做的執行效率比較低。

刷子和畫筆在Windows作圖中是使用最多的GUI對象,本節在講解刷子和畫筆使用方法的同時也講述一寫基本作圖函數。

在畫點或畫線時系統使用當前DC中的畫筆,所以在創建畫筆後必須將其選入DC才會在繪圖時產生效果。畫筆可以通過CPen對象來產生,通過調用CPen::CreatePen( int nPenStyle, int nWidth, COLORREF crColor )來創建。其中nPenStyle指名畫筆的風格,可取如下值:

  • PS_SOLID 實線   Creates a solid pen.
  • PS_DASH 虛線,寬度必須為一   Creates a dashed pen. Valid only when the pen width is 1 or less, in device units.
  • PS_DOT 點線,寬度必須為一   Creates a dotted pen. Valid only when the pen width is 1 or less, in device units.
  • PS_DASHDOT 點劃線,寬度必須為一   Creates a pen with alternating dashes and dots. Valid only when the pen width is 1 or less, in device units.
  • PS_DASHDOTDOT 雙點劃線,寬度必須為一   Creates a pen with alternating dashes and double dots. Valid only when the pen width is 1 or less, in device units.
  • PS_NULL 空線,使用時什麼也不會產生   Creates a null pen.
  • PS_ENDCAP_ROUND 結束處為圓形   End caps are round.
  • PS_ENDCAP_SQUARE 結束處為方形   End caps are square.

nWidth和crColor為線的寬度和顏色。

刷子是在畫封閉曲線時用來填充的顏色,例如當你畫圓形或方形時系統會用當前的刷子對內部進行填充。刷子可利用CBrush對象產生。通過以下幾種函數創建刷子:

  • BOOL CreateSolidBrush( COLORREF crColor ); 創建一種固定顏色的刷子
  • BOOL CreateHatchBrush( int nIndex, COLORREF crColor ); 創建指定顏色和網格的刷子,nIndex可取以下值:
    • HS_BDIAGONAL   Downward hatch (left to right) at 45 degrees
    • HS_CROSS   Horizontal and vertical crosshatch
    • HS_DIAGCROSS   Crosshatch at 45 degrees
    • HS_FDIAGONAL   Upward hatch (left to right) at 45 degrees
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved