引用了utAALine单元后
调用以下过程即可画出抗锯齿(反走样)直线
重要提示:
如果不希望出现 窗口在最小化又还原后 直线消失的情况 请在控件的OnPaint事件中调用该过程
AALine(DC:HDC;X1,Y1,X2,Y2:Double;Color:TColor;Border,Alpha:Double);
参数说明
DC:目标控件的设备上下文
X1、Y1:起始点的X,Y坐标值
X2、Y2:终点的X,Y坐标值
Color:颜色代码,可以用常量 例如clRed表示红色
Border:线的粗细程度值越大 线越粗
Alpha:介于0与1之间 0表示完全透明 1表示完全不透明
在调用这个函数之前 应该先获取目标设备的HDC(设备上下文的句柄),
为了能够使用Windows API 应在单元引用中加入Windows。
使用完之后 应将设备上下文释放 否则长时间运行会将程序拖死。
var
DC:HDC
begin
DC:=GetDC(Self.Handle);//获取目标设备的设备上下文句柄 此处以主窗体为例
AALine...//假代码 此处可以开始绘制线条
ReleaseDC(Self.Handle,DC);//将设备上下文句柄归还给目标控件
end;
没有合适的资源?快使用搜索试试~ 我知道了~
Delphi反走样单元(改进版)
共31个文件
pas:2个
~7~:2个
dcu:2个
2星 需积分: 11 27 下载量 136 浏览量
2010-04-22
14:24:14
上传
评论
收藏 190KB RAR 举报
温馨提示
用Windows API绘制的直线在斜率比较小的情况下,锯齿会非常严重。这个单元是用来绘制平滑直线的。原版代码中,必须有一个目标画布参数,但是Delphi中有些控件是没有画布属性的。本人将其代码做了一些改动,将画布参数变为HDC(设备上下文句柄),这样就几乎适应所有控件了。呵呵,象征性地收取1分~ 欢迎下载!原版带有TCanvas参数的单元请参看此链接: http://download.csdn.net/source/2169492
资源推荐
资源详情
资源评论
收起资源包目录
反走样直线_改进版.rar (31个子文件)
AALineDemo.dproj.local 1KB
__history
Frm_Demo.dfm.~1~ 382B
Frm_Demo.pas.~12~ 890B
Frm_Demo.pas.~14~ 939B
Frm_Demo.dfm.~8~ 431B
Frm_Demo.dfm.~5~ 540B
Frm_Demo.dfm.~2~ 407B
Frm_Demo.pas.~16~ 708B
Frm_Demo.dfm.~7~ 483B
Frm_Demo.dfm.~3~ 382B
Frm_Demo.pas.~10~ 594B
Frm_Demo.pas.~13~ 892B
Frm_Demo.pas.~8~ 545B
Frm_Demo.pas.~9~ 545B
AALineDemo.dpr.~1~ 247B
Frm_Demo.pas.~7~ 545B
Frm_Demo.dfm.~6~ 457B
Frm_Demo.pas.~11~ 875B
Frm_Demo.dfm.~4~ 405B
Frm_Demo.pas.~15~ 559B
Frm_Demo.pas 770B
AALineDemo.exe 402KB
utAALine.pas 7KB
Frm_Demo.dcu 4KB
utAALine.dcu 5KB
AALineDemo.res 5KB
Frm_Demo.dfm 460B
AALineDemo.identcache 270B
说明.txt 843B
AALineDemo.dproj 4KB
AALineDemo.dpr 278B
共 31 条
- 1
资源评论
- 普通网友2013-06-23第一句编译就不通过: uses ....AdvAppStyler; 因为没有AdvAppStyler.dcu。 只能看exe运行的结果,没有得到对编程有参考价值的东西。
- rianee2011-10-241像素还行,线条的宽度设置还是有些问题的。
Jack_Chai
- 粉丝: 563
- 资源: 26
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功