Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi TImage: Selbes Bild, unterschiedliche Qualität? (https://www.delphipraxis.net/184290-timage-selbes-bild-unterschiedliche-qualitaet.html)

Martin W 15. Mär 2015 21:32

TImage: Selbes Bild, unterschiedliche Qualität?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hi,

folgendes Problem mit einer TImage Komponente:
  • Lade ich das Bild während der Entwicklung über die IDE ist die Qualität gut.
  • Lade ich das Bild mit folgendem Code zur Laufzeit, ist die Qualität des gleichen PNGs deutlich schlechter:
Delphi-Quellcode:
procedure TPictureLoader.LoadPicture(aPictureID: string;
  aImageObject: TImage);
var
  handle: THandle;
  k: TPngObject;
begin

  handle:= LoadLibrary(PChar(FFileName));
  if handle <> 0 then
    begin

      k := TPngObject.Create;
      try
        k.LoadFromResourceName(handle, aPictureID);
        aImageObject.Picture.Assign(k);
      finally
        k.Free;
      end;

    end
  else
   begin

     RaiseLastOSError;

   end;
 
  FreeLibrary(handle);

end;
Das Bild befindet sich für Variante 2 in einer Ressource DLL.

Im Bild gut zu erkennen: Links eine saubere Darstellung, 5 lila Linien ubereinander, Rechts alles verschwommen.

Woran könnte es liegen?

Viele Grüße,

Martin

Anhang 42719

Bernhard Geyer 15. Mär 2015 21:37

AW: TImage: Selbes Bild, unterschiedliche Qualität?
 
Ist das PNG 24/32-Bit oder 8-Bit?
Bei 8 Bit könnten noch ein paar Bugs in der (gekauften) Sourcen schlummern.

Martin W 15. Mär 2015 21:54

AW: TImage: Selbes Bild, unterschiedliche Qualität?
 
Gimp sagt, das Farbprofil wäre sRGB built-in. Hab jetzt einen Workaround gefunden: Das Bild in allen notwendigen Größen anlegen und dann Stretching überflüssig machen. Funktioniert relativ gut, aber man merkt noch immer das die Qualität eine andere ist.

SMO 16. Mär 2015 10:34

AW: TImage: Selbes Bild, unterschiedliche Qualität?
 
Sieht nach einem Skalierungsproblem aus.
Hast du mal die Werte von TImage.Stretch, TImage.Proportional, TImage.Picture.Width und TImage.Picture.Height zwischen den beiden Ladearten verglichen?


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:27 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