1
SVGをスケーラブルな背景画像(たとえば、ボタンの背景として丸みのある長方形)として使用したいと思います。私の問題は、ボタンのサイズはボタンの内容に依存するということです。そのテキスト。 SVGをさまざまなサイズとアスペクトで塗りつぶすメソッドが必要ですが、同じ線幅と半径を使用する必要があります。私のアプローチでQtで線幅と半径に影響を与えずにSVGをスケーリングする
私は100%の幅と高さ
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg xmlns="http://www.w3.org/2000/svg">
<rect id="rect0815" x="0" y="0" width="100%" height="100%" rx="15" ry="15"
fill="red" stroke="#000000" stroke-width="2"/>
</svg>
でSVGを使用し、背景としてそれをレンダリング:
void paintEvent(QPaintEvent * pEvent)
{
QPainter oPainter(this);
QSvgRenderer oRenderer(QString("../share/images/background.svg"));
oRenderer.render(&oPainter, pEvent->rect());
}
しかし、これは私のFIX-を使用するのと同じ歪んだ結果を与えました幅SVG。また、私はQSvgRenderer::setViewPort()
を試しても何の効果もありませんでした。
敬具、
チャーリー
とwith/heightの%値は標準に準拠していませんか? (たとえそれがFirefoxで動作していても) – Charly