文档章节

GDI+ 学习记录(9): 纹理画刷 - TextureBrush

涂孟超
 涂孟超
发布于 2014/09/26 15:36
字数 281
阅读 9
收藏 0
//纹理画刷
var
  g: TGPGraphics;
  img: TGPImage;
  tb: TGPTextureBrush;
begin
  g := TGPGraphics.Create(Canvas.Handle);
  img := TGPImage.Create('c:\temp\small.jpg');
  tb := TGPTextureBrush.Create(img);

  g.FillEllipse(tb, 0, 0, Self.ClientWidth, Self.ClientHeight);

  img.Free;
  tb.Free;
  g.Free;
end;

 
 
 
 
 

 

 

  
//Matrix var g: TGPGraphics; img: TGPImage; tb: TGPTextureBrush; matrix: TGPMatrix; begin g := TGPGraphics.Create(Canvas.Handle); img := TGPImage.Create('c:\temp\x.jpg'); tb := TGPTextureBrush.Create(img); matrix := TGPMatrix.Create(75.0/640.0, 0.0, 0.0, 75.0/480.0, 0.0, 0.0); tb.SetTransform(matrix); g.FillEllipse(tb, 0, 0, Self.ClientWidth, Self.ClientHeight); matrix.Free; img.Free; tb.Free; g.Free; end;
//WrapMode var g : TGPGraphics; img: TGPImage; tb : TGPTextureBrush; p: TGPPen; begin g := TGPGraphics.Create(Canvas.Handle); img := TGPImage.Create('c:\temp\small.jpg'); tb := TGPTextureBrush.Create(img); p := TGPPen.Create(MakeColor(255, 0, 0, 0)); tb.SetWrapMode(WrapModeTile); g.FillRectangle(tb, MakeRect(0, 0, 200, 200)); g.DrawRectangle(p, MakeRect(0, 0, 200, 200)); tb.SetWrapMode(WrapModeTileFlipX); g.FillRectangle(tb, MakeRect(200, 0, 200, 200)); g.DrawRectangle(p, MakeRect(200, 0, 200, 200)); tb.SetWrapMode(WrapModeTileFlipY); g.FillRectangle(tb, MakeRect(0, 200, 200, 200)); g.DrawRectangle(p, MakeRect(0, 200, 200, 200)); tb.SetWrapMode(WrapModeTileFlipXY); g.FillRectangle(tb, MakeRect(200, 200, 200, 200)); g.DrawRectangle(p, MakeRect(200, 200, 200, 200)); img.Free; tb.Free; p.Free; g.Free; end;
WrapMode 选项:

Delphi 微软 说明
WrapModeClamp Clamp 纹理或渐变没有平铺。
WrapModeTile Tile 平铺渐变或纹理。
WrapModeTileFlipX TileFlipX 水平反转纹理或渐变,然后平铺该纹理或渐变。
WrapModeTileFlipXY  TileFlipXY  水平和垂直反转纹理或渐变,然后平铺该纹理或渐变。
WrapModeTileFlipY TileFlipY 垂直反转纹理或渐变,然后平铺该纹理或渐变。


本文转载自:http://www.cnblogs.com/del/archive/2007/12/27/1017177.html

共有 人打赏支持
涂孟超
粉丝 12
博文 2011
码字总数 14107
作品 0
深圳
程序员
【Visual C++】游戏开发笔记之四——游戏画面绘图(一)基本图形绘制

本系列文章由zhmxy555编写,转载请注明出处。 http://blog.csdn.net/zhmxy555/article/details/7333886 作者:毛星云 邮箱: happylifemxy@qq.com 欢迎邮件交流编程心得 从本篇文章开始笔锋一...

长平狐
2012/11/12
115
0
关于cocos2d-x几种画图方法的用法与思考

CCRenderTexture 自己的理解 CCRenderTexture类似一张空白的“画布“,用户通过自定义笔刷(CCSprite*),在touch事件中把笔刷的移动痕迹“记录”起来,从而“画”出各种艺术效果。记录方法很简...

于赟
2012/11/18
0
0
Genesis-3D新手入门——11.地形系统

地形系统 这是一个地形系统的实例,根据Genesis-3D参考手册中地形指南,创建出一个简单的Demo,帮助用户来了解地形系统的使用。 1.创建地形。 (1)点击菜单"工具"-->"地形"-->"新建地形"打开...

lengche
2014/02/20
0
0
Genesis-3D新手入门——11.地形系统

地形系统 这是一个地形系统的实例,根据Genesis-3D参考手册中地形指南,创建出一个简单的Demo,帮助用户来了解地形系统的使用。 1.创建地形。 (1)点击菜单"工具"-->"地形"-->"新建地形"打开...

lengche
2013/12/23
0
0
第二章 2绘制线条简单图形

线条和形状 同Windows其它版本相比,Windows CE提供相当少的功能的领域之一就是基本线条绘制和形状绘制功能。用来创建复杂环形的Chord, Arc, 和Pie函数被去掉了。大部分使用"当前点[current ...

技术小胖子
2017/11/08
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

OSChina 周日乱弹 —— 种族不同,禁止交往

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @小小编辑:推荐歌曲《苏菲小姐》- 鱼果 《苏菲小姐》- 鱼果 手机党少年们想听歌,请使劲儿戳(这里) @貓夏:下大雨 正是睡觉的好时候 临睡前...

小小编辑
31分钟前
25
5
Python 搭建简单服务器

Python动态服务器网页(需要使用WSGI接口),基本实现步骤如下: 1.等待客户端的链接,服务器会收到一个http协议的请求数据报 2.利用正则表达式对这个请求数据报进行解析(请求方式、提取出文...

代码打碟手
34分钟前
0
0
Confluence 6 删除垃圾内容

属性(profile)垃圾 属性垃圾的定义为,一个垃圾用户在 Confluence 创建了用户,但是这个用户在自己的属性页面中添加了垃圾 URL。 如果你有很多垃圾用户在你的系统中创建了属性,你可以使用...

honeymose
今天
0
0
qduoj~前端~二次开发~打包docker镜像并上传到阿里云容器镜像仓库

上一篇文章https://my.oschina.net/finchxu/blog/1930017记录了怎么在本地修改前端,现在我要把我的修改添加到部署到本地的前端的docker容器中,然后打包这个容器成为一个本地镜像,然后把这...

虚拟世界的懒猫
今天
1
0
UML中 的各种符号含义

Class Notation A class notation consists of three parts: Class Name The name of the class appears in the first partition. Class Attributes Attributes are shown in the second par......

hutaishi
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部