[gelöst] QuickReport Seitengröße in Pixel bestimmen



  • Hallo,

    ich habe folgendes Problem: Der Inhalt einer PaintBox soll seitenfüllend ausgedruckt werden. In der OnPaint Methode erzeuge ich erst eine Offscreen Bitmap in der Größe der Paintbox, zeichne in diese Bitmap und kopiere die Bitmap anschließend auf den Canvas der PaintBox. Zum Ausdruck mit einem TQuickRep erzeuge ich dann eine Bitmap, die genauso groß wie die Seite des Druckers ist, zeichne in diese Bitmap und kopiere sie dann auf ein seitengroßes TQRImage.
    Und genau da fangen die Probleme an, ich bekomme nicht heraus, wie groß das TQRImage in Pixel ist. Normalerweise benutzt TQuickRep mm als Maßeinheit, ich kann sie im Objektinspektor allerdings auf Pixel umstellen. Leider liefert TQuickRep::Page::Length und TQuickRep::Page::Width aber nicht die korrekte Anzahl der Pixel zurück, der Wert ist etwa um den Faktor 2.7 zu groß.
    Gibt es eine Möglichkeit, wie ich zur Laufzeit herausfinden kann, wie viele Pixel ein z.B. 19cm breites und 27.7cm langes TQRImage breit bzw. hoch ist?

    Edit:
    Ein fixe Seitengröße kann ich nicht annehmen, da Ausdrucke z.B. auch auf US Legal Papierformat gemacht werden.



  • Manchmal sieht man den Wald vor lauter Bäumen nicht o.O

    Zur Laufzeit kann die Größe in Pixel einfach über die Attribute TQRImage::Width und TQRImage::Height abgefragt werden, TQRImage::Size::Width und TQRImage::Size::Height enthalten dann die Größe in der im TQuickRep::Unit eingestellten Maßeinheit.


Log in to reply