文档章节

再学 GDI+[65]: 路径画刷(5) - SetGammaCorrection

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



代码文件:
unit Unit1;

interface

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

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

var
  Form1: TForm1;

implementation

{$R *.dfm}

uses GDIPOBJ, GDIPAPI;

procedure TForm1.FormPaint(Sender: TObject);
const
  ColorArr: array[0..2] of TGPColor = (aclRed, aclGreen, aclBlue);
var
  pts: array[0..2] of TGPPoint;
  g: TGPGraphics;
  path: TGPGraphicsPath;
  pb: TGPPathGradientBrush;
  num: Integer;
begin
  pts[0] := MakePoint(80, 10);
  pts[1] := MakePoint(10, 150);
  pts[2] := MakePoint(150, 150);

  g := TGPGraphics.Create(Canvas.Handle);

  path := TGPGraphicsPath.Create;
  path.AddPolygon(PGPPoint(@pts), Length(pts));
  //pb := TGPPathGradientBrush.Create(path); {这样建立中心默认白色; 按下一句中心默认黑色}
  pb := TGPPathGradientBrush.Create(PGPPoint(@pts), Length(pts)); {根据点数组建立路径画刷}
  pb.SetCenterColor(aclWhite);
  num := Length(pts);
  pb.SetSurroundColors(PARGB(@ColorArr), num);
  g.FillPath(pb, path);

  {使用灰度校正模式换个地方再画一次}
  pb.SetGammaCorrection(True);
  g.TranslateTransform(150, 0);
  g.FillPath(pb, path);

  pb.Free;
  path.Free;
  g.Free;
end;

end.

 
 
 
 
 

 

 

  
窗体文件:
object Form1: TForm1
  Left = 0
  Top = 0
  Caption = 'Form1'
  ClientHeight = 163
  ClientWidth = 311
  Color = clBtnFace
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -11
  Font.Name = 'Tahoma'
  Font.Style = []
  OldCreateOrder = False
  Position = poDesktopCenter
  OnPaint = FormPaint
  PixelsPerInch = 96
  TextHeight = 13
end

 
 
 
 
 

 

 

  

本文转载自:http://www.cnblogs.com/del/archive/2008/06/28/1231730.html

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

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

长平狐
2012/11/12
115
0
简述WPF中的画刷(Brush)

-------------------------------------------------------------------------------- 引用或转载时请保留以下信息: 大可山 [MSN:a3news(AT)hotmail.com] http://www.zpxp.com http://www.b......

Andrewniu
09/30
0
0
CDC绘图总结

GDI总结:http://dingchaoqun12.blog.163.com/blog/static/11606250420112213396361/ 对话框 控件 视图类 应用程序框架都会调用该CWnd的消息响应成员函数(的覆盖)来绘制窗口客户区。 在Win...

长平狐
2012/10/08
2.3K
0
第二章 2绘制线条简单图形

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

技术小胖子
2017/11/08
0
0
常用的GDI+ 函数使用例子

一、通过Gdi+加载和显示PNG,JPG等格式的图片 //直接加载外部的图像 Image* image = new Image(L"test.png");//如果需要通过ID 来加载的话 BOOL CSmalltmpdemoDlg::ImageFromIDResource(UIN...

junwong
2012/03/23
239
0

没有更多内容

加载失败,请刷新页面

加载更多

一个可能的NEO链上安全随机数解决方案

0x00 困境 链上安全随机数生成应该算是一个比较蛋疼的问题,哪怕你的系统再牛逼,合约程序困在小小的虚拟机里,哪怕天大的本事也施展不开。 更悲催的是,交易执行的时候,是在每一个节点都执...

暖冰
今天
1
0
【大福利】极客时间专栏返现二维码大汇总

我已经购买了如下专栏,大家通过我的二维码你可以获得一定额度的返现! 然后,再给大家来个福利,只要你通过我的二维码购买,并且关注了【飞鱼说编程】公众号,可以加我微信或者私聊我,我再...

飞鱼说编程
今天
1
0
Spring5对比Spring3.2源码之容器的基本实现

最近看了《Spring源码深度解析》,该书是基于Spring3.2版本的,其中关于第二章容器的基本实现部分,目前spring5的实现方式已有较大改变。 Spring3.2的实现: public void testSimpleLoad(){...

Ilike_Java
今天
1
0
【王阳明心学语录】-001

1.“破山中贼易,破心中贼难。” 2.“夫万事万物之理不外于吾心。” 3.“心即理也。”“心外无理,心外无物,心外无事。” 4.“人心之得其正者即道心;道心之失其正者即人心。” 5.“无...

卯金刀GG
今天
2
0
OSChina 周三乱弹 —— 我们无法成为野兽

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @ _刚刚好: 霸王洗发水这波很骚 手机党少年们想听歌,请使劲儿戳(这里) hahahahahahh @嘻酱:居然忘了喝水。 让你喝可乐的话, 你准忘不了...

小小编辑
今天
14
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部