实例代码如下:
ras.reset();
agg::ellipse ell(400,400,20,70);
//坐标转换
agg::trans_affine mtx;
//mtx.scale(0.5,1); //x轴缩小到原来的一半
mtx.rotate(agg::deg2rad(30));//旋转30度
//mtx.translate(200,200);//X,Y坐标分别平移100
typedef agg::conv_transform<agg::ellipse> ell_ct_type;
ell_ct_type ctell(ell,mtx); //矩阵变换
typedef agg::conv_stroke<ell_ct_type> ell_cc_cs_type;
ell_cc_cs_type csccell(ctell);
ras.add_path(csccell);
agg::render_scanlines_aa_solid(ras,sl,renb,agg::rgba8(255,0,0));
ras.reset();
这是网上最经典的一个使用例子,但是并没有说明旋转是如何实现的,稍微修改了一下代码:
mtx.rotate(agg::deg2rad(60));//旋转60度
发现界面上什么也没有,椭圆不见了!!至少应该推测到旋转的效果,否则谁敢用!!!
修改为40的时候,查看到图形移动到(73,848)附近,从网上没有找到
任何的资料。
时间: 2024-10-15 01:34:58