首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> Delphi

GDI+ 學習筆記(9):TextureBrush 紋理畫刷與平鋪模式

     編輯:Delphi

基本紋理填充

img := TGPImage.Create('c:\temp\small.jpg');
tb := TGPTextureBrush.Create(img);
g.FillEllipse(tb, 0, 0, ClientWidth, ClientHeight);

Transform 矩陣縮放紋理

matrix := TGPMatrix.Create(75.0/640.0, 0, 0, 75.0/480.0, 0, 0);
tb.SetTransform(matrix);  {將 640x480 圖片縮放為 75x75 重複}

WrapMode 平鋪模式完整對照

模式行為視覺效果
WrapModeTile直接平鋪無縫重複
WrapModeTileFlipX水平鏡像後平鋪鏡像對稱重複
WrapModeTileFlipY垂直鏡像後平鋪上下鏡像重複
WrapModeTileFlipXY水平垂直鏡像平鋪四向鏡像,無明顯接縫
WrapModeClamp不平鋪,邊緣拉伸單次繪製,外圍延伸邊緣色

範例:四種模式並排顯示

tb.SetWrapMode(WrapModeTile);       g.FillRectangle(tb, Rect(0, 0, 200, 200));
tb.SetWrapMode(WrapModeTileFlipX);  g.FillRectangle(tb, Rect(200, 0, 200, 200));
tb.SetWrapMode(WrapModeTileFlipY);  g.FillRectangle(tb, Rect(0, 200, 200, 200));
tb.SetWrapMode(WrapModeTileFlipXY); g.FillRectangle(tb, Rect(200, 200, 200, 200));

TextureBrush 適用:材質模擬(木紋、石材、布紋)、背景圖案、遊戲地圖材質、UI 皮膚。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved