AGG第二十九课agg::render_scanlines的不同-创新互联

附上代码:

坚守“ 做人真诚 · 做事靠谱 · 口碑至上 · 高效敬业 ”的价值观,专业网站建设服务10余年为成都建筑动画小微创业公司专业提供成都企业网站定制营销网站建设商城网站建设手机网站建设小程序网站建设网站改版,从内容策划、视觉设计、底层架构、网页布局、功能开发迭代于一体的高端网站建设服务。

   agg::rendering_buffer &rbuf = rbuf_window();//获取渲染缓存

   agg::pixfmt_bgr24 pixf(rbuf);//组成像素

   typedef agg::renderer_base renderer_base_type;
   renderer_base_type renb(pixf);//提供裁剪区域,只有在裁剪区域内才渲染有效

   typedef agg::renderer_scanline_bin_solid renderder_scanline_type;
   renderder_scanline_type rensl(renb);//自定义底层的渲染器

   agg::rasterizer_scanline_aa<> ras;
   agg::scanline_u8 sl;
   ras.reset();

   renb.clear(agg::rgba8(255,255,255));

   agg::ellipse ell(320,320,230,230);
   agg::conv_stroke stroke(ell);
   ras.add_path(stroke);
   rensl.color(agg::rgba8(255,0,0));
   agg::render_scanlines(ras,sl,rensl);

这种方法是不提供抗锯齿的效果,采用的是agg::renderer_scanline_bin_solid,

对比下面的代码:

   agg::rendering_buffer &rbuf = rbuf_window();
   agg::pixfmt_bgr24 pixf(rbuf);

   typedef agg::renderer_base renderer_base_type;
   renderer_base_type renb(pixf);
   renb.clear(agg::rgba8(255,255,255));

   agg::rasterizer_scanline_aa<> ras;
   agg::scanline_u8 sl;
   ren_bas.clear(agg::rgba8(255,255,255));

   agg::ellipse ell(320,320,230,230);
   agg::conv_stroke stroke(ell);
   ras.add_path(stroke);
   agg::render_scanlines_aa_solid(ras,sl,renb,agg::rgba8(255,0,0));
渲染的圆是抗锯齿的,效果非常的好,aa实际上就是anti-aliasing的意思。

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


当前题目:AGG第二十九课agg::render_scanlines的不同-创新互联
链接地址:http://ybzwz.com/article/ejeco.html