C ++ SVG库写入路径数据

时间:2011-12-14 14:15:05

标签: c++ image svg

有谁知道一个好的C ++库可以为我生成SVG路径数据?我的想法是我应该使用简单的MoveTo,LineTo,CurveTo命令等,并且应该获得最终的路径字符串。虽然不是那么困难,但我可以写自己的,但为了时间的利益,如果存在这种事情会更好。

2 个答案:

答案 0 :(得分:2)

可能为时已晚,但C中有Cairo,而libboard是C ++。和C ++中的simple svg

我与这些人没有任何关系。

答案 1 :(得分:-1)

Qt提供了一个很好的SVG导出器和一个简单的图形界面:

QSvgGenerator generator;
generator.setFileName(path);
generator.setSize(QSize(200, 200));
generator.setViewBox(QRect(0, 0, 200, 200));
generator.setTitle(tr("SVG Generator Example Drawing"));
generator.setDescription(tr("An SVG drawing created by the SVG Generator "
                            "Example provided with Qt."));
QPainter painter;
painter.begin(&generator);


painter.fillRect(QRect(0, 0, 200, 200), Qt::darkGreen);
painter.setBrush(Qt::green);
painter.setPen(Qt::black);
    for (int y = -55, row = 0; y < 200; y += 50, ++row) {
        int xs;
        if (row == 2 || row == 3)
            xs = 150;
        else
            xs = 50;
        for (int x = 0; x < 200; x += xs) {
            painter.save();
            painter.translate(x, y);
            painter.drawPath(tree);
            painter.restore();
        }
    }


painter.fillRect(QRect(0, 0, 200, 200), Qt::gray);
painter.setPen(QPen(Qt::white, 4, Qt::DashLine));
painter.drawLine(QLine(0, 35, 200, 35));
painter.drawLine(QLine(0, 165, 200, 165));
painter.end();

有关更多详细信息,请参见here