本篇文章主要介绍了"agg::conv_stroke显示轮廓线",主要涉及到方面的内容,对于C/C++jrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播感兴趣的同学可以参考一下:
5.1引言轮廓线就是图形的边界,任何封闭的顶点源跳过agg::conv_stroke阶段,将会描绘实心的图形,填充的颜色和边界保持一致。如果不封闭的顶点源一旦跳...
5.1引言
轮廓线就是图形的边界,任何封闭的顶点源跳过agg::conv_stroke阶段,将会描绘实心的图形,填充的颜色和边界保持一致。如果不封闭的顶点源一旦跳过agg::conv_stroke就什么也不绘制。agg::conv_stroke就是用来描绘图形边界的。
和agg::conv_contour对比可知,agg::conv_contour是扩展图形的轮廓线,通俗一点就是拓展图形的边界,对图形的边界进行放缩(但是和agg::trans_affine不同,这是中心位置不变的缩放)。
5.2 轮廓线属性的设置
1)线段端点的形状
enum line_cap_e
{
butt_cap,//按钮形状,实际和方形形状并无二致
square_cap,
round_cap//半圆形状
};
设置函数:void line_cap(line_cap_e lc)
2)线段的宽度
设置函数:void width(double w)
3)介绍stroke的默认参数
当然我们可以不调用line_cap,也可以不调用width,因为stroke有默认的构造器,指定了默认的参数如下:
m_width(0.5),
m_width_abs(0.5),
m_width_eps(0.5/1024.0),
m_width_sign(1),
m_miter_limit(4.0),
m_inner_miter_limit(1.01),
m_approx_scale(1.0),
m_line_cap(butt_cap),
m_line_join(miter_join),
m_inner_join(inner_miter)
4)agg::conv_stroke的线段样式
采用的是实线的渲染方式,是否我们可以通过替换她,描述虚线:agg::conv_dash
结果发现:什么也没有渲染出来!!agg::conv_dash会单独描述!!
5.3 例子回放
ras.reset();
agg::path_storage ps1;
ps1.move_to(200,200);
ps1.line_to(300,300);
agg::line_cap_e cap = agg::round_cap;//设置线段端点的形状
agg::conv_stroke stroke(ps1);//线段的样式
stroke.line_cap(cap);
stroke.width(50);//设置线段的宽度
ras.add_path(stroke);
agg::render_scanlines_aa_solid(ras,sl,renb,agg::rgba8(255,0,0));
以上就介绍了agg::conv_stroke显示轮廓线,包括了方面的内容,希望对C/C++jrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播有兴趣的朋友有所帮助。
本文网址链接:http://www.codes51.com/article/detail_250478.html