AGG第二十七课 agg::conv_clip_polyline裁剪线区域

简介:

应用场景

路径点超出渲染范围N

头文件

#include"agg/include/agg_conv_clip_polyline.h"

简单例子

 void ClipPathByPolyline()

  {

   agg::rendering_buffer &rbuf = rbuf_window();

   agg::pixfmt_bgr24 pixf(rbuf);

 

   typedef agg::renderer_base<agg::pixfmt_bgr24> renderer_base_type;

   renderer_base_type renb(pixf);

 

   typedef agg::renderer_scanline_aa_solid<renderer_base_type>renderder_scanline_type;

   renderder_scanline_type rensl(renb);

 

   agg::rasterizer_scanline_aa<> ras;

   agg::scanline_u8 sl;

   ras.reset();

 

   agg::path_storage ps;

   ps.move_to(100,540);

   ps.line_to(168.889,471.429);

   ps.line_to(237.778,402.857);

   ps.line_to(306.667,334.286);

   ps.line_to(651.111,-8.57143);

   ps.line_to(720,-6.85714e+19);

   ps.line_to(200,400);

   ps.line_to(400,400);

   ps.line_to(200,500);

   ps.line_to(700,400);

 

   agg::conv_clip_polyline<agg::path_storage> polyline(ps);

   polyline.clip_box(0,0,600,800);

   agg::conv_dash<agg::conv_clip_polyline<agg::path_storage> >dash(polyline);

   dash.add_dash(10,10);

   agg::conv_stroke<agg::conv_dash<agg::conv_clip_polyline<agg::path_storage>> > stroke(dash);

   stroke.width(2);

 

   ras.add_path(stroke);

   agg::render_scanlines_aa_solid(ras,sl,renb,agg::rgba8(255,0,0));

  }


限制:

Here the lines will be clipped beforecalculating the rest. But if you have

very wide lines you will see some defects

 

To avoid it you may want to extend theclipping area to the maximal line width.


     本文转自fengyuzaitu 51CTO博客,原文链接:http://blog.51cto.com/fengyuzaitu/1962525,如需转载请自行联系原作者




相关文章
gg.gap包—截断Y轴小能手
截断Y轴往往是我们作柱形图时候,当有一组数据的分布过大或者过小时候需要用到,不截断的话值小的变量信息往往会被掩盖,图片也会不美观,今天介绍俩个方便截断Y轴方法供大家参考。
298 0
halcon模板匹配实践(2)算子find_shape_model里的参数Row, Column, Angle含义是什么?
halcon模板匹配实践(2)算子find_shape_model里的参数Row, Column, Angle含义是什么?
796 0
halcon模板匹配实践(2)算子find_shape_model里的参数Row, Column, Angle含义是什么?
零元学Expression Blend 4 - Chapter 38 看如何使用Clip修出想要的完美曲线(下)
原文:零元学Expression Blend 4 - Chapter 38 看如何使用Clip修出想要的完美曲线(下) 你可以把Clip想成是一个遮罩,运用遮罩达到我们想要的效果 所以在这里我们把文字的...
1217 0