[Qt-interest] SVG Questions - more detail
Dan White
ygor at comcast.net
Wed Feb 25 01:46:55 CET 2009
Try adding text to it
My problem is with the text
On Feb 24, 2009, at 2:02 PM, Roopesh Chander wrote:
>
> On Sunday 22 February 2009 10:01 PM, Dan White wrote:
>> I opened the SVG file with a text editor and found...
>>
>> <text fill="#000000" fill-opacity="1" stroke="none" x="300" y="448"
>> font-family="Blue Highway" font-size="-1pt" font-weight="400" font-
>> style="normal">Title</text>
>>
>> !!!? font-size="-1pt" ?!!!
>>
>> On Feb 21, 2009, at 11:16 PM, Dan White wrote:
>>
>>> I am trying to do some simple line drawings with text and have it
>>> output to either PDF or SVG.
>>>
>>> I have managed the PDF with very pleasing results, but the SVG is
>>> driving me buggy.
>>>
>>> I have been unable to get the page size of the SVG document or
>>> get my
>>> drawing to scale into the page properly. I get a drawing that looks
>>> like what I want, but is about 25 times bigger than what I want. I
>>> get a document page that is about 20 times bigger than what I want,
>>> and does not have the same height to width ratio as the drawing.
>>> All my text has a font size of -2 and displays rotated 180 degrees
>>> and very very tiny.
>>>
>>> With the PDF, I can just call
>>>
>>> printer->setOutputFormat ( QPrinter::PdfFormat ) ;
>>> and then
>>> printer->setPaperSize ( ... ) ;
>>>
>>> I tried using QSvgGenerator->setSize() in a similar fashion, but it
>>> does not give me the results I want.
>>>
>>> Can anyone point me in the correct direction ?
>
> Maybe you didn't set the resolution?
>
> The svg generated from the following code (with Qt 4.4.3) shows up the
> intended mail icon in Inkscape and EoG perfectly:
>
> int main() {
> QSvgGenerator svggen;
> svggen.setSize(QSize(125, 75));
> svggen.setFileName("/tmp/rect.svg");
> svggen.setResolution(90);
> QPainter painter(&svggen);
> painter.setPen(QPen(Qt::black, 1));
> painter.setBrush(QBrush(QColor(Qt::red).lighter(180)));
> painter.drawRect(10, 10, 60, 40);
> painter.drawLine(QPoint(10, 10), QPoint(40, 30));
> painter.drawLine(QPoint(40, 30), QPoint(70, 10));
> }
>
> (Inkscape assumes that 1 SVG user unit == 1 pixel at 90 dpi.)
>
> roop.
> _______________________________________________
> Qt-interest mailing list
> Qt-interest at trolltech.com
> http://lists.trolltech.com/mailman/listinfo/qt-interest
More information about the Qt-interest-old
mailing list