Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Bitmap verkleinern [Problem gelöst] (https://www.delphipraxis.net/217158-bitmap-verkleinern-%5Bproblem-geloest%5D.html)

TM6 8. Mai 2025 10:09


Bitmap verkleinern [Problem gelöst]
 
Ich nutze seit Jahren die Funktion SmoothResize, die auf

https://www.swissdelphicenter.ch/en/...de.php?id=1896

angegeben ist, um Bitmaps kleiner zu rechnen.
Ich hatte nur TBitmap in vcl.Graphics.TBitmap umbenannt gehabt.

Das funktionierte auch und funktioniert auch weiterhin unter Delphi 10.4.

Aber in Delphi 12.x gibt es eine Exception im zweiten Durchlauf (y=1, X=0) beim Zugriff auf
DstLine[x]. Und das anscheinend nur mit 64-bit, mit einem 32-bit-Compilat scheint es weiterhin zu funktionieren.

Was hat sich diesbezüglich an Delphi geändert, dass das plötzlich nicht mehr geht?
Irgendeine Idee, was das Problem sein könnte?

TM6 8. Mai 2025 10:39

AW: Bitmap verkleinern
 
Da hat mir jetzt die KI (nutze ich viel zu selten), nachdem ich sie mit genug Infos gefüttert hatte, weitergeholfen und mich auf
https://stackoverflow.com/questions/...tmap-correctly
hingewiesen.
Und das Ersetzen von integer durch NativeInt hat dann das Problem gelöst.

Sherlock 8. Mai 2025 11:10

AW: Bitmap verkleinern [Problem gelöst]
 
So auf den ersten Blick würde ich den Schuldigen in den eventuell unterschiedlichen Integer Typen bei 32 und 64 Bit vermuten. Die Doku sagt da zwar was anderes...aber vielleicht ist die nicht aktuell. Andererseits würde ich eher mit TWICImage resizen, weil (vermutlich) schneller und bessere Bildqualität.

Edit: Das hat man davon, wenn man Kommentare lange ungepostet stehen lässt, sie werden überflüssig...grmpf. Ich stehe aber zu meiner TWICImage Aussage.

Gausi 8. Mai 2025 11:17

AW: Bitmap verkleinern [Problem gelöst]
 
Zitat:

Zitat von Sherlock (Beitrag 1548527)
Ich stehe aber zu meiner TWICImage Aussage.

Dem würde ich mich anschließen. Die alten "eingebauten" Methoden (StretchDraw und ähnliches?) erzeugten beim verkleinern für Thumbnails etc. teilweise grottig schlechte Ergebnisse. Da waren dann andere Verfahren wie dieses "SmoothResize" notwendig. Mittlerweile ist das nicht mehr so.


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