gg第四十三课例子image1从椭圆到矩形替换问题

我的代码为基础p_w_picpaths1例子,我改变了

p_w_picpath“伙伴”从一个椭圆形状矩形。


伙伴矩形出来在X, Y和尺度和旋转,

但左上角p_w_picpath总是停留在

(X, Y)=3 d (0, 0)。只有部分重叠的p_w_picpath=20

矩形是可见的,但这一部分正确尺度和旋转。=20

当没有重叠,没有p_w_picpath。


我不懂p_w_picpath2的例子,所以我

失去了什么。原因。附加代码。


将不胜感激的帮助和/或示例代码。

空白p_w_picpath (HAGG * h, int x, int y, TCHAR * imgfilename)

,,{

,,如果(! loadp_w_picpath (h, imgfilename))//集p_w_picpath细节h

,,,{

,,,返回;

,,,}

,,gg: rendering_buffer rbuf (h→像素,

,,,,,,,,,,,,,,,h→frame_width=20

,,,,,,,,,,,,,,,h→frame_height=20

,,,,,,,,,,,,,,,——(h→frame_width * h→bytesperpixel));=20

,,typedef gg: renderer_base,,,,,,,,,,renderer_base;

,,typedef gg: renderer_base,,,,,,,,=

renderer_base_pre;

,,typedef gg: renderer_scanline_aa_solid=

renderer_solid;

,pixfmt大敌;,,,,,pixf (rbuf);

,pixfmt_pre大敌;,,,pixf_pre (rbuf);

,renderer_base大敌;,rb (pixf);

,,renderer_base_pre rb_pre (pixf_pre);

,renderer_solid大敌;,rs (rb);


,,rb.clear (gg:: rgba (1.0, 1.0, 1.0);


,,,gg: rasterizer_scanline_aa<的在pf;

,,gg: scanline_u8 sl;


,,IMGINFO *我=3 d和h→一个[0];

,,双imgwd=3 d我→宽度;,,,//p_w_picpath宽度

,,双imght=3 d我→高度,;,,//p_w_picpath高度


,,gg: trans_affine src_mtx;

,,src_mtx *=3 d gg: trans_affine_translation (- x - y);

,,src_mtx *=3 d gg: trans_affine_rotation (- h→t.angle);在弧度,//

,,src_mtx *=3 d gg: trans_affine_scaling (h→t。scalex h→t.scaley);

,,src_mtx *=3 d gg: trans_affine_translation (x, y);

,,gg: trans_affine img_mtx;

,,img_mtx *=3 d gg: trans_affine_translation (- x - y);

,,img_mtx *=3 d gg: trans_affine_rotation (- h→t.angle);

,,img_mtx *=3 d gg: trans_affine_scaling (h→t。scalex h→t.scaley);

,,img_mtx *=3 d gg: trans_affine_translation (x, y);

,,img_mtx.invert ();


,,typedef gg: span_allocatorspan_alloc_type;

,,span_alloc_type sa;

,,,typedef gg: span_interpolator_linear<的在interpolator_type;

,,interpolator_type插入器(img_mtx);


,,//坝脖嗦搿彼咝怨?/p>


,,typedef gg: span_p_w_picpath_filter_rgb_bilinear

component_order=20

,,,,,,,,,,,,,,,,,,,,,,,,interpolator_type>=

span_gen_type;

,,typedef gg: renderer_scanline_aa=

renderer_type;


,,gg: rendering_buffer rbuf_img(我→像素,

,,,,,,,,,,,,,,,,,(int) imgwd=20

,,,,,,,,,,,,,,,,,(int) imght=20

,,,,,,,,,,,,,,,,,我→步幅);=20

,,span_gen_type sg (sa)=20

,,,,,,,,,,rbuf_img,,//渲染buf p_w_picpath像素

,,,,,,,,,,null

gg第四十三课例子image1从椭圆到矩形替换问题