文档章节

WinAPI: CreatePolygonRgn - 建立多边形区域

涂孟超
 涂孟超
发布于 2014/09/26 15:33
字数 153
阅读 3
收藏 0
本例效果图:


unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    procedure FormPaint(Sender: TObject);
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormPaint(Sender: TObject);
var
  ps: array[0..9] of TPoint;
  Rgn: HRGN;
begin
  ps[0] := Point(120, 5);
  ps[1] := Point(140, 70);
  ps[2] := Point(210, 70);
  ps[3] := Point(150, 100);
  ps[4] := Point(180, 175);
  ps[5] := Point(120, 120);
  ps[6] := Point(60, 175);
  ps[7] := Point(90, 100);
  ps[8] := Point(30, 70);
  ps[9] := Point(100, 70);

  {建立多边形区域}
  Rgn := CreatePolygonRgn(ps, Length(ps), WINDING);

  {填充区域}
  Canvas.Brush.Color := clSilver;
  Canvas.Brush.Style := bsCross;
  FillRgn(Canvas.Handle, Rgn, Canvas.Brush.Handle);

  {绘制区域边界}
  Canvas.Brush.Color := clRed;
  Canvas.Brush.Style := bsSolid;
  FrameRgn(Canvas.Handle, Rgn, Canvas.Brush.Handle, 2, 2);
  DeleteObject(Rgn);
end;

end.

 
 
 
 
 

 

 

  

本文转载自:http://www.cnblogs.com/del/archive/2008/05/26/1207768.html

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

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

长平狐
2012/11/12
135
0
iOceanPlus/Module_Qt_Geography

Qt_Geography 项目类关系图见下: 功能1:地理多边形 封装Qt的QGeoCircle、QGeoRectangle和QPolygonF类,成为地理多边形、地理圆形和地理矩形,共同的基类为MyQtGeoShapeBase。 提供一个常用功...

iOceanPlus
2017/01/17
0
0
ArcGIS实用制图技巧——如何制作“粉饰”效果

现在讲解粉饰效果的制作方法,这在ArcMap当中对于想要重点突出区域以外的多边形,符号化时使用白色填充和透明度的效果即可实现。 左侧地图的图形背景组织很差。右侧地图通过使用粉饰效果突出...

长平狐
2012/11/28
237
0
PhotoShop CC 2017软件工具面板使用---索套工具

  套索工具包含了套索工具,多边形套索工具和磁性套索工具 索套工具   套索工具用于手绘选区,快捷键为L   套索工具和选框工具的区别:套索工具是能选不规则图形的选框工具 多边形索套...

zxc514257857
2017/11/12
0
0
OpenGL绘图实例:直线、颜色填充与鼠标响应

Bresenham直线生成算法 在数学上,直线是没有宽度的、由无数个点构成的集合。对直线进行光栅化,就是在显示器所给定的有限个像素矩阵中,确定最佳逼近于该直线的一组像素。在本次实验中,我采...

初雪之音
2016/03/08
1K
0

没有更多内容

加载失败,请刷新页面

加载更多

MicroStation Developer Shell

REG ADD HKLM\SOFTWARE\Microsoft\VisualStudio\8.0\Setup\VS /v ProductDir /t REG_SZ /d "C:\Program Files (x86)\Microsoft Visual Studio 8\VC\" /reg:32 CALL "C:\Program Files (x86)\......

oready
7分钟前
0
0
CURL常用命令

下载单个文件,默认将输出打印到标准输出中(STDOUT)中 curl http://www.centos.org 通过-o/-O选项保存下载的文件到指定的文件中: -o:将文件保存为命令行中指定的文件名的文件中 -O:使用U...

SuShine
11分钟前
0
0
docker搞个wordpress

1.先把wordpress的镜像下载下来 docker pull wordpress 2.下载mysql docker pull mysql:lastest 3.启动mysql docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:t......

无极之岚
23分钟前
1
0
【宇润日常疯测-005】PHP 中的 clone 和 new 性能比较

clone和new本不应该放在一起比较,它们的作用是不同的。但可能有一些场景下,可以用clone也可以用new,那么这时候我们选哪个呢? 我编写了两个测试,第一个是声明一个空类,第二个是带构造方...

宇润
24分钟前
1
1
点击按钮弹出类似IOS 底部 dialog

implementation 'com.baoyz.actionsheet:library:1.1.7' 然后设置按钮点击监听,,调用下列代码即可 ActionSheet.createBuilder(this, getSupportFragmentManager()) ......

lanyu96
27分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部