我正在尝试用C ++制作数独生成器,为此,我将生成的拼图存储为2D矩阵。如何生成像数独一样的数组的svg图像或png图像?
就像我知道我可以使用svg ++,Qt,simple-svg之类的许多工具一样,从@Marek R的回答中,我认为Qt的QImage会很好,但是我想知道有没有办法加载现有的数独,并仅更改其单元格中的值,而不是自己绘制? Qt是否有可能,如果没有其他方法呢?
答案 0 :(得分:0)
如果您要使用Qt,则非常简单:
void SomeClass::paintSvg(const QString &path)
{
QSvgGenerator generator;
generator.setFileName(path);
generator.setSize(QSize(200, 200));
generator.setViewBox(QRect(0, 0, 200, 200));
generator.setTitle(tr("Sudoku problem"));
generator.setDescription(tr("An SVG drawing created by the SVG Generator "
"Example provided with Qt."));
QPainter painter;
painter.begin(&generator);
paintSudokuOn(painter);
painter.end();
}
void SomeClass::paintPng(const QString &path) {
QImage image { {200, 200}, QImage::Format_RGB32 };
QPainter painter;
painter.begin(&image);
paintSudokuOn(painter);
painter.end();
image.save(path);
}
void SomeClass::paintSudokuOn(QPainter &painter) {
// your code to do drawing
}