Einzelnen Beitrag anzeigen

SearchBot

Registriert seit: 27. Jun 2004
Ort: N-W vom Bodensee
311 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

Fastreport 5 VCL: Image nicht verzerren?

  Alt 22. Mär 2017, 11:23
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:
procedure TForm1.frxGLabelsBeforePrint(Sender: TfrxReportComponent);
var
   Pict: TfrxPictureView;
begin
   if sender is TfrxPictureView then
   begin
      if TfrxPictureView(sender).Name = 'img_QRthen
      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;
img_QR ist wie folgt definiert:
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
Miniaturansicht angehängter Grafiken
qrc_fastreport_problem.png  
  Mit Zitat antworten Zitat