文档章节

WinAPI: CreatePolygonRgn - 建立多边形区域

涂孟超
 涂孟超
发布于 2014/09/26 15:33
字数 153
阅读 2
收藏 0
点赞 0
评论 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.

 
 
 
 
 

 

 

  

© 著作权归作者所有

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

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

长平狐 ⋅ 2012/11/12 ⋅ 0

iOceanPlus/Module_Qt_Geography

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

iOceanPlus ⋅ 2017/01/17 ⋅ 0

ArcGIS实用制图技巧——如何制作“粉饰”效果

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

长平狐 ⋅ 2012/11/28 ⋅ 0

PhotoShop CC 2017软件工具面板使用---索套工具

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

zxc514257857 ⋅ 2017/11/12 ⋅ 0

OpenGL绘图实例:直线、颜色填充与鼠标响应

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

初雪之音 ⋅ 2016/03/08 ⋅ 0

谷歌卫星地图如何添加、修改和删除多边形面

万能地图下载器除了有强大的谷歌影像下载、历史地图下载、高程等高线下载、矢量电子地图下载、百度POI下载、矢量建筑数据下载,以及瓦片导出、专业坐标系的投影转换等专业功能(如北京54或西...

mrib ⋅ 03/22 ⋅ 0

如何使地形图变得更加有趣

在通常出版的地图中,地形图是很常见的,地形图由一些基本的形状和一定的大小组成,但是人们怎样能让一幅地形图看起来即丰富又生动呢?又需要什么办法使一幅普通的地形图更加有趣呢? 经过反...

长平狐 ⋅ 2012/11/28 ⋅ 0

[计算机图形学] 基于C#窗口的Bresenham直线扫描算法、种子填充法、扫描线填充法模拟软件设计(二)

上一节链接:http://www.cnblogs.com/zjutlitao/p/4116783.html 前言:   在上一节中我们已经大致介绍了该软件的是什么、可以干什么以及界面的大致样子。此外还详细地介绍了Bresenham直线扫...

史迪奇2号 ⋅ 2017/09/05 ⋅ 0

【翻译】安卓opengl ES教程之二——创建多边形

在上一篇教程中我们讨论了关于初始化一个GLSurfaceView。在我们开始新的内容之前,请确保你已经读了它。 创建多边形 在这篇教程中,我们将要渲染我们的第一个多边形。 3D模型是由许多可以被单...

tnjin ⋅ 2015/12/24 ⋅ 3

复杂多边形光栅化算法

虽然已经一年多没有维护gbox这个图形库项目了,最近确实时间不够用。。。 今年的重点是把xmake彻底正好,至少在架构和大功能(包依赖管理)上,要完全落实下来,后期就是零散的维护和插件功能...

ruki ⋅ 2016/07/21 ⋅ 10

没有更多内容

加载失败,请刷新页面

加载更多

下一页

笔试题之Java基础部分【简】【一】

基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语法,集合的语法,io 的语法,虚拟机方面的语法,其他 1.length、length()和size() length针对...

anlve ⋅ 11分钟前 ⋅ 1

table eg

user_id user_name full_name 1 zhangsan 张三 2 lisi 李四 `` ™ [========] 2018-06-18 09:42:06 星期一½ gdsgagagagdsgasgagadsgdasgagsa...

qwfys ⋅ 36分钟前 ⋅ 0

一个有趣的Java问题

先来看看源码: public class TestDemo { public static void main(String[] args) { Integer a = 10; Integer b = 20; swap(a, b); System.out......

linxyz ⋅ 40分钟前 ⋅ 0

十五周二次课

十五周二次课 17.1mysql主从介绍 17.2准备工作 17.3配置主 17.4配置从 17.5测试主从同步 17.1mysql主从介绍 MySQL主从介绍 MySQL主从又叫做Replication、AB复制。简单讲就是A和B两台机器做主...

河图再现 ⋅ 今天 ⋅ 0

docker安装snmp rrdtool环境

以Ubuntu16:04作为基础版本 docker pull ubuntu:16.04 启动一个容器 docker run -d -i -t --name flow_mete ubuntu:16.04 bash 进入容器 docker exec -it flow_mete bash cd ~ 安装基本软件 ......

messud4312 ⋅ 今天 ⋅ 0

OSChina 周一乱弹 —— 快别开心了,你还没有女友呢。

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @莱布妮子 :分享吴彤的单曲《好春光》 《好春光》- 吴彤 手机党少年们想听歌,请使劲儿戳(这里) @clouddyy :小萝莉街上乱跑,误把我认错成...

小小编辑 ⋅ 今天 ⋅ 8

Java 开发者不容错过的 12 种高效工具

Java 开发者常常都会想办法如何更快地编写 Java 代码,让编程变得更加轻松。目前,市面上涌现出越来越多的高效编程工具。所以,以下总结了一系列工具列表,其中包含了大多数开发人员已经使用...

jason_kiss ⋅ 昨天 ⋅ 0

Linux下php访问远程ms sqlserver

1、安装freetds(略,安装在/opt/local/freetds 下) 2、cd /path/to/php-5.6.36/ 进入PHP源码目录 3、cd ext/mssql进入MSSQL模块源码目录 4、/opt/php/bin/phpize生成编译配置文件 5、 . ./...

wangxuwei ⋅ 昨天 ⋅ 0

如何成为技术专家

文章来源于 -- 时间的朋友 拥有良好的心态。首先要有空杯心态,用欣赏的眼光发现并学习别人的长处,包括但不限于工具的使用,工作方法,解决问题以及规划未来的能力等。向别人学习的同时要注...

长安一梦 ⋅ 昨天 ⋅ 0

Linux vmstat命令实战详解

vmstat命令是最常见的Linux/Unix监控工具,可以展现给定时间间隔的服务器的状态值,包括服务器的CPU使用率,内存使用,虚拟内存交换情况,IO读写情况。这个命令是我查看Linux/Unix最喜爱的命令...

刘祖鹏 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部