【渲染引擎】agg画线介绍

本文简要介绍了agg库中关于画线的功能,包括普通线、虚实线和点阵线条的支持。重点讲解了线的起始和结束样式,如'butt'、'round'和'square',以及agg如何实现虚实线,特别是`agg_conv_dash.h`头文件中的`add_dash`方法在虚实线绘制中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

对于agg的字体进行了一个很简单的介绍,下面就再对agg的画线进行一个简单的说明。
首先对于画线来说,有几种线条比如普通线, 虚实线,点阵状的线条。agg对于每种线条都有支持。另外对于线条的起始的结束样式也有几种,这个属性一般都是以linecap来标识。只有绘制较宽线段时,它才有效。这个属性的合法值如下表所示。默认值是:”butt”。

  1. “butt” 这个默认值指定了线段应该没有线帽。线条的末点是平直的而且和线条的方向正交,这条线段在其端点之外没有扩展;
  2. “round” 这个值指定了线段应该带有一个半圆形的线帽,半圆的直径等于线段的宽度,并且线段在端点之外扩展了线段宽度的一半;
  3. “square” 这个值表示线段应该带有一个矩形线帽。这个值和 “butt” 一样,但是线段扩展了自己的宽度的一半。
    在agg中相应的也有三个属性与其对应。
    下面我们对agg中画虚实线的方法进行介绍。对于agg来说,其虚实线主要实现是在agg_conv_dash.h头文件中,可以看到其主要提供了几个方法
template<class VertexSource, class Markers=null_markers> 
    struct conv_dash : public conv_adaptor_vcgen<VertexSource, vcgen_dash, Markers>
    {
        typedef Markers marker_type;
        typedef
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值