我正在尝试理解cairo_scale()函数。有一个文档,但我还是不明白。
考虑以下代码
cairo_scale(cr,1./WIDTH,1./HEIGHT);
cairo_move_to(cr,0,0);
cairo_line_to(cr,1,1);
cairo_stroke(cr); //draw a line across the image和(工作版)没有刻度
cairo_move_to(cr,0,0);
cairo_line_to(cr,WIDTH,HEIGHT);
cairo_stroke(cr);据我所知,cairo_scale(1/width,1/height)应该对以下所有动词进行标度,因此x和y的范围为0到1(而不是0到宽度和0到高度)。
不幸的是,它不起作用,我看不到任何东西。我犯了什么错?
发布于 2014-04-10 09:30:24
您可以将cairo_scale()看作是将以下所有坐标与其参数相乘。
在您的示例中,这意味着您正在从(0, 0)绘制一条线到小于一个像素的(1/width, 1/height)。
您想要调用cairo_scale(cr, WIDTH, HEIGHT)而不是。
https://stackoverflow.com/questions/22961553
复制相似问题