AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Fastreport 5 VCL: Image nicht verzerren?

Ein Thema von SearchBot · begonnen am 22. Mär 2017 · letzter Beitrag vom 27. Mär 2017
Antwort Antwort
Seite 1 von 2  1 2      
SearchBot

Registriert seit: 27. Jun 2004
Ort: N-W vom Bodensee
313 Beiträge
 
Delphi 12 Athens
 
#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
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.070 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: Fastreport 5 VCL: Image nicht verzerren?

  Alt 22. Mär 2017, 11:31
Sieht der Ausdruck in einer PDF auch so bescheiden aus?
  Mit Zitat antworten Zitat
Darlo

Registriert seit: 28. Jul 2008
Ort: München
1.196 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#3

AW: Fastreport 5 VCL: Image nicht verzerren?

  Alt 22. Mär 2017, 11:52
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.
Philip
  Mit Zitat antworten Zitat
SearchBot

Registriert seit: 27. Jun 2004
Ort: N-W vom Bodensee
313 Beiträge
 
Delphi 12 Athens
 
#4

AW: Fastreport 5 VCL: Image nicht verzerren?

  Alt 22. Mär 2017, 16:04
Sieht der Ausdruck in einer PDF auch so bescheiden aus?
Das ist ein Ausdruck auf ein Etikett, Wachs-Transfer oder so...
Mit PDF hab ichs nicht versucht, weil ich auf einem Etikett brauche
  Mit Zitat antworten Zitat
SearchBot

Registriert seit: 27. Jun 2004
Ort: N-W vom Bodensee
313 Beiträge
 
Delphi 12 Athens
 
#5

AW: Fastreport 5 VCL: Image nicht verzerren?

  Alt 22. Mär 2017, 16:07
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.
Der Hintergrund ist weiß; im Foto sieht es halt nicht so toll aus.
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.
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#6

AW: Fastreport 5 VCL: Image nicht verzerren?

  Alt 22. Mär 2017, 16:44
Funktioniert das Speichern eventuell mit 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 Pict.Picture.Bitmap.Assign(QRCodeBitmap);

Oder
Delphi-Quellcode:
Pict.Picture.Bitmap.Assign(Nil); // Alternative zum fehlenden .Clear ...
Pict.Picture.Bitmap.Assign(QRCodeBitmap);
  Mit Zitat antworten Zitat
sko1

Registriert seit: 27. Jan 2017
588 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#7

AW: Fastreport 5 VCL: Image nicht verzerren?

  Alt 23. Mär 2017, 10:56
Zitat:
Pict.Picture.Bitmap.Assign(Nil); // Alternative zum fehlenden .Clear ...
Genial ))
Da muss man erst mal drauf kommen!

Ciao
Stefan
  Mit Zitat antworten Zitat
SearchBot

Registriert seit: 27. Jun 2004
Ort: N-W vom Bodensee
313 Beiträge
 
Delphi 12 Athens
 
#8

AW: Fastreport 5 VCL: Image nicht verzerren?

  Alt 23. Mär 2017, 14:46
Funktioniert das Speichern eventuell mit 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 Pict.Picture.Bitmap.Assign(QRCodeBitmap); Oder
Delphi-Quellcode:
Pict.Picture.Bitmap.Assign(Nil); // Alternative zum fehlenden .Clear ...
Pict.Picture.Bitmap.Assign(QRCodeBitmap);
Ja, QRCodeBitmap ist vom Typ TBitmap.
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?
  Mit Zitat antworten Zitat
Benutzerbild von mikhal
mikhal

Registriert seit: 11. Sep 2003
Ort: Linz am Rhein
796 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: Fastreport 5 VCL: Image nicht verzerren?

  Alt 23. Mär 2017, 15:31
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
Michael Kraemer
Computer erleichtern die Arbeit...
...und die Erde ist eine Scheibe!

Geändert von mikhal (23. Mär 2017 um 15:33 Uhr)
  Mit Zitat antworten Zitat
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.070 Beiträge
 
Delphi 10.4 Sydney
 
#10

AW: Fastreport 5 VCL: Image nicht verzerren?

  Alt 23. Mär 2017, 15:48
Sieht der Ausdruck in einer PDF auch so bescheiden aus?
Das ist ein Ausdruck auf ein Etikett, Wachs-Transfer oder so...
Mit PDF hab ichs nicht versucht, weil ich auf einem Etikett brauche
Ja, aber damit könnte man erstmal feststellen, ob der Drucker ein Problem macht oder irgendetwas davor.
Wenn das Bitmap in einer PDF oder einen normalen Laserdrucker gut ausschaut, hast du ja eher am hinteren Ende ein Problem.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      

 

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:08 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz