3
我想加載一個svg,通過id提取一個組,並將其繪製到畫布上。Dart從畫布上的SVG文件中繪製id
如果該文件是一個形象,我會做:
_image = new html.ImageElement()
..src = src;
_canvas.context2D.drawImageScaledFromSource(_image, ox, oy, ow, oh, x, y, w, h)
我想這樣做同樣的事情,但有一個SVG文件,我想挑選哪些ID從SVG文件來繪製。使用多個ID繪製到畫布的不同部分。
現在我有:
var groupToDraw;
HttpRequest.getString("img.svg").then((text) {
svg.SvgElement pimage = new svg.SvgElement(text);
groupToDraw = pimage.querySelector("#ID");
}
但我不知道怎麼畫眼前這個元素在屏幕上。還有一些組參考了文件其他部分的模式,儘管我現在可以跳過它們。
如果它有助於做到這一點在PyQt的我所做的:
renderer = QSvgRenderer(path)
pix = QtGui.QPixmap(width, height)
pix.fill(Qt.transparent)
painter = QtGui.QPainter(pix)
renderer.render(painter, id)
我現在更接近了,謝謝。第一個代碼用於獲取SvgElement。我想只是從文件中抽出一個「」。我可以使用for循環或.querySelector()來提取它,但是我不知道如何在畫布上繪製該元素。還有什麼提示? –
我已更新我的答案以反映您更新的問題。 – ringstaff