![]() |
Fastreport 5 VCL: Image nicht verzerren?
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,
ich habe folgendes Problem mit dem Audruck von QR-Codes in Fastreport: In der Vorschau ist der Code korrekt angezeigt, im Ausdruck dann sind Grauschattierungen im Bild, so als ob nach der Vorschau die Bilder neu berechnet werden und/oder dabei verzerrt werden. Hintergrund: Da Fastreport (in der bei 'Berlin' mitgeliefertern Version) selbst keine QR-Codes erzeugen kann, helfe ich mir mit einem Image, in das ich mit ZXing den QR-Code "reinmale". Auf dem Vorschaubildschirm ist der Code klar lesbar, wie gewünscht. Im Audruck dann eben nicht und somit wird der QRC durch die Schattierungen unlesbar. Ich habe Autosize und Strech auf false. Ist da irgenwo ein property, womit man eine Neuberechnung von Bitmaps vermeiden kann? So weise ich die QRC dem Ausdruck zu:
Delphi-Quellcode:
img_QR ist wie folgt definiert:
procedure TForm1.frxGLabelsBeforePrint(Sender: TfrxReportComponent);
var Pict: TfrxPictureView; begin if sender is TfrxPictureView then begin if TfrxPictureView(sender).Name = 'img_QR' then begin QR_update('Bla'); //Hier wird in QRCodeBitmap (Typ ist TBitmap) der QRC reingemalt Pict := TfrxPictureView(sender); Pict.Stretched:=false; Pict.Picture.Bitmap:=QRCodeBitmap; end; end; end;
Code:
object img_QR: TfrxPictureView
ShiftMode = smDontShift Left = 166.299320000000000000 Top = 11.338590000000000000 Width = 45.000000000000000000 Height = 45.000000000000000000 DataField = 'img_QR' DataSet = frxUserDataSet2 DataSetName = 'frxUserDataSet2' Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom] HightQuality = False Transparent = False TransparentColor = clWhite end |
AW: Fastreport 5 VCL: Image nicht verzerren?
Sieht der Ausdruck in einer PDF auch so bescheiden aus?
|
AW: Fastreport 5 VCL: Image nicht verzerren?
Ich hatte so ein ähnliches Problem bei transparenten TCharts. Kannst Du den Hintergrund des QR-Codes weiß machen, bzw. als jpg speichern?
Der einzige Weg bei mir, da ich die Transparenz brauchte, war den Hintergrund und alle Bilder erst als JPG erstellen und anschließend als Hintergrundbild in den Report laden. |
AW: Fastreport 5 VCL: Image nicht verzerren?
Zitat:
Mit PDF hab ichs nicht versucht, weil ich auf einem Etikett brauche :wink: |
AW: Fastreport 5 VCL: Image nicht verzerren?
Zitat:
Falls du den Hintergrund in der Bitmap meinst, der ist auch clWhite. Speichern hatte ich auch mal versucht, um zu gucken, ob das Problem schon in der Bitmap liegt - aber irgendwie hat er mir die Bilder nicht gespeichert.:pale: |
AW: Fastreport 5 VCL: Image nicht verzerren?
Funktioniert das Speichern eventuell mit
Delphi-Quellcode:
?
Pict.Picture.Bitmap.SaveToFile('qr.bmp');
Ein bisserl sieht mir das Bild so aus, als sei es ein JPeg, das mit sehr hohem Qualitätsverlust gespeichert / verarbeitet wurde. Was genau verbirgt sich hinter QRCodeBitmap? Ein Bitmap? Dann versuch es mal mit
Delphi-Quellcode:
Pict.Picture.Bitmap.Assign(QRCodeBitmap);
Oder
Delphi-Quellcode:
Pict.Picture.Bitmap.Assign(Nil); // Alternative zum fehlenden .Clear ...
Pict.Picture.Bitmap.Assign(QRCodeBitmap); |
AW: Fastreport 5 VCL: Image nicht verzerren?
Zitat:
Da muss man erst mal drauf kommen! Ciao Stefan |
AW: Fastreport 5 VCL: Image nicht verzerren?
Zitat:
Die Zuweisung klappte auch vorher schon und die Anpassung auf deinen Code brachte auch keinen Unterschied. Das gespeicherte Bild nach der Zuweisung sieht einwandfrei aus. Im Ausdruck hingegen weiterhin diese Unschärfe, die wahrscheinlich durch Graustufen gedithtert (?) wird. Wenn es zwischen sauberer Vorlage (Bitmap) und Ausdruck zu einer solchen Veränderung kommt, müsste Fastreport wohl das Bild neu aufbauen? Kann man das irgendwo beeinflussen? |
AW: Fastreport 5 VCL: Image nicht verzerren?
TPicture hat bei FastReport eine Property Stretched, die steht per Default auf True, setz die mal auf False
Edit: schon geschehen... habe ich übersehen Edit2: HighQuality steht auf True? Grüße Mikhal |
AW: Fastreport 5 VCL: Image nicht verzerren?
Zitat:
Wenn das Bitmap in einer PDF oder einen normalen Laserdrucker gut ausschaut, hast du ja eher am hinteren Ende ein Problem. |
AW: Fastreport 5 VCL: Image nicht verzerren?
Moin...:P
Zitat:
Kannst du mal die Demo ausprobieren ob die QR Codes für dich was sind. ![]() |
AW: Fastreport 5 VCL: Image nicht verzerren?
Zitat:
Die Eigenschaft heißt bei mir HightQuality - meinst du die? Oder habe ich noch eine andere übersehen? Diese hier ändert nichts. Ich gebe den QRCode jetzt auf XPS aus (hab an dem PC kein PDF-Drucker und auch keine Lust, das zu ändern ;-) ). Im diesem "Ausdruck" ist der QRCode auch schon unscharf (graue Aura um die Module [Modul werden die schwarzen Punkte im QRCode genannt]), also daher kommen die "Flecken". Scheinbar ist die Auflösung meines Bildes mit dem Code zu gering, daß Fastreport das Bild hochrechnet auf die anderen Elemente im Report, und es daher unscharf macht (obwohl es das Bild nicht stretchen soll). Wie kann ich die Auflösung für die zur Laufzeit generierte Bitmap ändern? Oder gibt es einen anderen Grund? Zitat:
|
AW: Fastreport 5 VCL: Image nicht verzerren?
Liste der Anhänge anzeigen (Anzahl: 1)
Ich habe die gleiche Ausgangslage (QR-Code) und im Prinzip das gleiche vorgehen.
Allerdings klappt es bei mir ohne Probleme. Zum generieren des Bildes verwende ich die Zint-Bibliothek.
Delphi-Quellcode:
var
PictureView: TfrxPictureView; begin PictureView := frxReport1.FindObject('Picture1') as TfrxPictureView; PictureView.Picture := imgQR_Code.Picture; |
AW: Fastreport 5 VCL: Image nicht verzerren?
Zitat:
In deinem PDF sind die Module aber auch leicht angegraut, was bei (m)einem SW-Drucker zu unsauberen Rändern führt. Beim richtigen QRC sind die Abstände zwischen Hell und Dunkel enger, daher habe ich größere Probleme. Die ![]() Kann es sein, daß das Image in eine DPI-Falle geraten ist und ich vorbeugend etwas umrechen muss? |
AW: Fastreport 5 VCL: Image nicht verzerren?
mal in den Druckereinstellungen nachgesehen ob man da das Handling für Graustufen einstellen kann , evtl reicht es im Drucerktreiber auf Schwarz/Weiss
Beim meinem Zebra gibt es ein Tab Grauabstufung und darunter Fehlerstreuung, Gescannt,Fein oder->Keine<- Bei Seagull Treibern steht das unter Grafiken Option Keine mfg Hannes |
AW: Fastreport 5 VCL: Image nicht verzerren?
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
Den angegrauten Rand kann ich im Original nicht bestätigen, dies hängt schätzungsweise mit dem Printscreen und der anschliessenden JPG-Umwandlung zusammen. Bei mir setze ich keine DLL ein und die Umwandlung ist relativ simpel. Ev. reicht die von Hannes genannte Anpassung aus. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:08 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz