AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte VCL-Bitmap Resampler
Thema durchsuchen
Ansicht
Themen-Optionen

VCL-Bitmap Resampler

Ein Thema von Renate Schaaf · begonnen am 16. Apr 2023 · letzter Beitrag vom 5. Mai 2023
 
Renate Schaaf

Registriert seit: 25. Jun 2020
Ort: Lippe
114 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: VCL-Bitmap Resampler

  Alt 24. Apr 2023, 11:22
Hab inzwischen einige Verbesserungen in https://github.com/rmesch/Repository-R.Schaaf eingebaut:
  • Threads werden nicht mehr automatisch in Initialization erzeugt. Man kann InitDefaultResamplingThreads aufrufen, um sie zu initialisieren, bevor man sie benutzt, oder sie werden initialisiert beim ersten Aufruf einer parallelen Routine, was dann eine Verzögerung erzeugt. FinalizeDefaultResamplingThreads gibt sie frei. Wenn man das vergisst, werden sie in Finalization freigegeben.
  • Übergebene Bitmaps mit Alphaformat=afDefined werden jetzt korrekt skaliert, und das Ergebnis hat das gleiche Alphaformat. Der Resampler funktioniert aber am besten mit Alphaformat=afIgnored. Man sollte Alphaformat nur setzen, bevor man eine Bitmap anzeigt, um Ungenauigkeiten zu vermeiden.
  • Die Unit uTools enthält Routinen zum Umwandeln von TPngImage oder TWICImage auf TBitmap, ohne dass Alphaformat=afDefined gesetzt wird, was TBitmap.Assign in VCL.Graphics immer tut (, und was Zeitverschwendung für .jpg ist). Ein TWICImage dekodiert .jpg, .png oder .tif sehr schnell. Leider ist TWICImage.Create nicht threadsafe, also muss man es im Haupt-Thread erzeugen.
  • Es gibt einen neuen TAlphaCombineMode amTransparentColor, welcher die transparente Farbe und die transparenten Regionen beim Skalieren erhält.
  • Die Demo ThreadsInThreads macht jetzt Vorschaubilder in 2 gleichzeitigen Threads, das sollte ein guter Crashtest dafür sein, ob's denn auch threadsafe ist.
  • Code in uScale.pas wurde etwas aufgeräumt, Interface enthält jetzt nur noch das, was Benutzer wissen müssen, und mehr Kommentare wurden hinzugefügt. Außerdem habe ich 4 fast identische Routinen in eine überführt. Das kostet ein bisschen Performance, aber ich war es einfach leid.

Kritik usw. erwünscht!

Renate
Renate
  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 05: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