AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Bildartefakt mit GDI+
Thema durchsuchen
Ansicht
Themen-Optionen

Bildartefakt mit GDI+

Ein Thema von qsqsqs · begonnen am 29. Mär 2020 · letzter Beitrag vom 1. Apr 2020
 
qsqsqs

Registriert seit: 14. Jan 2012
1 Beiträge
 
#1

Bildartefakt mit GDI+

  Alt 29. Mär 2020, 08:08
Hallo!

In meiner Anwendung sind mir einige Bildartefakte aufgefallen. Ich habe festgestellt, dass das Problem darin besteht, dass DrawImage das Bild bei jeder Zeichnung verschlechtert.
Wenn ich ein Bild über ein transparentes Bild zeichne, ändert sich die Pixelfarbe ein wenig. Wenn ich es mehrfach verzeichne, verschlechtert sich die Pixelfarbe weiter.
Im beigefügten Beispiel (verwendet GDIPAPI, GDIPOBJ) sehen Sie, dass die Farbwerte nach einigen Zeichnungen von 29 auf 15 zurückkehren.
Ich habe verschiedene Eigenschaften der Grafik ausprobiert (SetInterpolationMode, SetSmoothingMode, SetPixelOffsetMode, SetCompositingQuality), aber das Ergebnis war das gleiche.
Kennt jemand von euch eine Lösung für dieses Problem?

Vielen Dank im Voraus,

MfG,
Attila

Code:
procedure TForm2.FormCreate(Sender: TObject);
var
  bmp, bmporig: TGPBitmap;
  gr: TGPGraphics;
  Col: Cardinal;
  I: Integer;
begin
  bmporig := TGPBitmap.Create(1, 1, PixelFormat32bppARGB);
  bmporig.SetPixel(0,0, MakeColor(247, 29, 29, 29));

  for I := 0 to 15 do
  begin
    bmp := TGPBitmap.Create(1, 1, PixelFormat32bppARGB);
    gr := TGPGraphics.Create(bmp);
    Gr.DrawImage(bmporig, 0, 0);
    gr.Free;

    bmporig.Free;
    bmporig := bmp;
  end;

  bmp.GetPixel(0,0,Col);
  Label1.Caption := inttostr(getred(col))+ ' ' + inttostr(getgreen(col)) + ' ' + inttostr(getblue(col)) + ' ' + inttostr(getalpha(col));
end;
  Mit Zitat antworten Zitat
 


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 17:02 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