Hallo,
mir ist gerade etwas mergwürdiges aufgefallen.
Und zwar liefert QSvgRenderer::boundsOnElement
und QGraphicsSvgItem::boundingRect nicht die werte
welche ich erwarte.
Also in der SVG-Datei steht eine Größe von z.B.
200x200 und QtSvg liefert mir 201x201.
Ein Bug? Ein Feature? Mach ich was falsch?
QtSvg
Ich habe version qt4.3 und 4.4 beide machen es richtig
ich convertiere sie einfach so:
code aus meinen Miniscribus http://code.google.com/p/fop-miniscribus/
QByteArray streams ist einfach das ausgelesenes file ... oder Dom
ich convertiere sie einfach so:
Code: Alles auswählen
static inline QPixmap RenderPixmapFromSvgByte( QByteArray streams )
{
QSvgRenderer svgRenderer( streams );
QPixmap pix( svgRenderer.defaultSize() );
pix.fill(Qt::transparent);
QPainter paint(&pix);
svgRenderer.render(&paint);
return pix;
}
QByteArray streams ist einfach das ausgelesenes file ... oder Dom
.........................
speack português italiano deutsch english castellà qt
speack português italiano deutsch english castellà qt
-
ConfusedSushi
- Beiträge: 57
- Registriert: 18. Januar 2008 16:46
- Wohnort: Berlin
Ich brauch aber unbedingt nur einzelne Elemente aus dem SVG
und QGraphicsView wär auch nicht schlecht.
Ein weiteres Problem ist das Antialiasing,
ich würde die Elemente gern Pixelgenau positionieren.
Ein abschalten hat keine Wirkung gezeigt.
Das war unter Qt4.3/X11.
Ich werd mal schauen wie es sich ohne QGraphicsView
verhält ...
und QGraphicsView wär auch nicht schlecht.
Ein weiteres Problem ist das Antialiasing,
ich würde die Elemente gern Pixelgenau positionieren.
Ein abschalten hat keine Wirkung gezeigt.
Das war unter Qt4.3/X11.
Ich werd mal schauen wie es sich ohne QGraphicsView
verhält ...
-
ConfusedSushi
- Beiträge: 57
- Registriert: 18. Januar 2008 16:46
- Wohnort: Berlin
Zu 40% - 50% mit window der rest mac und Ubutu..ConfusedSushi hat geschrieben:Ein Versuch unter Windows hat gezeigt das dort alles so funktioniert wie ich es erwarte![]()
Patrick arbeitest du unter Windows?
debug gdb nur auf linux
builde mal http://code.google.com/p/fop-miniscribus/ und mache ein neuen layer mit einen SVG speichere das fop file und lese den xsl-fo code vom bild
oder auch externe bilder
im ordner ....
/Sample_fop/external_image.fop
http://fop-miniscribus.googlecode.com/s ... _image.fop
sowie inline svg
Code: Alles auswählen
<fo:instream-foreign-object width="320pt" height="330pt" >
<svg:svg version="1.2" baseprofile="tiny" xmlns="http://www.w3.org/2000/
subversion letzte
Code: Alles auswählen
svn co http://fop-miniscribus.googlecode.com/svn/trunk/fop_miniscribus.1.0.0/ miniscribus
.........................
speack português italiano deutsch english castellà qt
speack português italiano deutsch english castellà qt
-
ConfusedSushi
- Beiträge: 57
- Registriert: 18. Januar 2008 16:46
- Wohnort: Berlin
warscheinlich findet sich ein Patch hier: http://websvn.kde.org/trunk/qt-copy/patches/ wenn man eine entsprechend alte Revision nimmt, als qt-copy noch 4.3 enthielt.