Yanone wrote:

it seems that this is a known problem: the curveto() function of aggdraw draws straight lines instead of curves, ignoring the given bezier control points. the last post i found about this dates back to march 2006, and even the developer version of aggdraw via svn didn't change this.
if i could code in C i would have a look at it myself, but i'm helpless.

could this somehow be solved?

here's a workaround, at least: replace the path_close implementation with the following:

static PyObject*
path_close(PathObject* self, PyObject* args)
{
    if (!PyArg_ParseTuple(args, ":close"))
        return NULL;

    self->path->close_polygon();

    /* expand curves */
    agg::path_storage* path = self->path;
    agg::conv_curve<agg::path_storage> curve(*path);
    self->path = new agg::path_storage();
    self->path->add_path(curve, 0, false);
    delete path;

    Py_INCREF(Py_None);
    return Py_None;
}

(not sure this is the best way to fix this, but it should hopefully get you going)

</F>

_______________________________________________
Image-SIG maillist  -  Image-SIG@python.org
http://mail.python.org/mailman/listinfo/image-sig

Reply via email to