![]() |
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. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:23 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