Autor Beitrag
LionAM
Hält's aus hier
Beiträge: 2

Win XP

BeitragVerfasst: Do 09.10.03 21:54 
Hallo!

Ich versuche, ein Bild mit der CopyRect-Methode in der Größe zu verändern, dabei bin ich aber auf ein Problem gestoßen: Wenn ich ein Bild vergrößere, dann verpixelt es nur; verkleinere ich es aber, passiert folgendes:

Aus Bild1 wird Bild2.

Gibt es eine Möglichkeit, das zu umgehen? Danke schon im Voraus für die Antworten.

MfG Alex.

Moderiert von user profile iconTino: Links eingebaut da die Bilder recht groß sind.
Andreas Pfau
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 997



BeitragVerfasst: Di 14.10.03 19:45 
Hallo,

vergrößern: wenn du willst schicke ich dir eine selbergecodete Prozedur per eMail.

Verkleinern: Kein Bug, das ist standardmäßig so: Windows versucht, schwarze (oder waren's weiße?) Pixel zu "erhalten", damit S/W-Bitmaps besser rauskommen. Bei Farbbitmaps kommt dann so ein komisches Bild raus. Nimm mal diesen Code:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
SetStretchBltMode(Destination.Canvas.Handle, HALFTONE);
SetBrushOrgEx(Destination.Canvas.Handle, 0, 0, nil);
StretchBlt (
    Destination.Canvas.Handle, 
    0, 0, 
    Destination.Width, Destination.Height, 
    Source.Canvas.Handle, 
    0, 0, 
    Source.Width, Source.Height, 
    SRCCOPY);

_________________
Life is a bad adventure, but the graphic is really good!
LionAM Threadstarter
Hält's aus hier
Beiträge: 2

Win XP

BeitragVerfasst: Di 14.10.03 22:37 
Vielen Dank für die Antwort,

das Problem mit dem Verkleinern hat sich inzwischen erledigt, mit StretchDraw funktioniert es einwandfrei, deinen Code werd ich aber auch mal probieren; was das vergrößern betrifft, habe ich eine Grafik-Bibliothek gefunden (GraphicEx), die verschiedene Methoden anbietet; allerdings finde ich, dass sie besonders bei größeren Bildern ziemlich langsam ist. Deinen Code würde ich mir aber auch gern mal anschauen. Meine E-Mail-Adresse ist alemue7(at)hotmail.com.

Irgendwie schaue ich da neidisch auf die "Windows Bild- und Faxanzeige" (Vorschau) unter XP. Es werden auch sehr große Bilder sehr schnell geladen und in optimaler Größe dargestellt. Außerdem verwendet sie einen Algorithmus, mit dem sie Bilder in vergleichsweise guter Qualität extrem schnell vergrößert, allerdings mit festem Faktor. Es werden offensichtlich nur die wirklich benötigten Daten geladen bzw. bearbeitet, aber reicht das wirklich schon für die Geschwindigkeit?

MfG Alex.

Moderiert von user profile iconTino: Überflüssige Absätze entfernt.