AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Schnelle Bitmap verkleinerung
Thema durchsuchen
Ansicht
Themen-Optionen

Schnelle Bitmap verkleinerung

Ein Thema von backdraft · begonnen am 15. Okt 2007 · letzter Beitrag vom 15. Okt 2007
Antwort Antwort
backdraft

Registriert seit: 19. Apr 2005
Ort: Hückeswagen
335 Beiträge
 
Delphi 11 Alexandria
 
#1

Schnelle Bitmap verkleinerung

  Alt 15. Okt 2007, 13:38
Hallo zusammen,

ich suche eine Library oder Komponente mit der ich möglichst schnell ein Bitmap auf Bildschirmgröße verkleinern kann.
Ziel ist es, einen Rechnungsbeleg auf den Bildschirm zu verkleinern, so dass er trotzdem noch gut lesbar ist. Das Bild ist original in 1-bit (600dpi) und wird beim verkleinern auf 8-bit hochgesetzt um die Zeichen in grausstufen darstellen zu können.

Derzeit habe ich die GraphicEx Funktion "Stretch" im Einsatz, die aber viel zu langsam ist.

Weiss jemand eine andere Komponente (frei oder shareware ist total egal).
Hauptsache es ist richtig schnell.

Grüße Oliver
Oliver
  Mit Zitat antworten Zitat
s-off
(Gast)

n/a Beiträge
 
#2

Re: Schnelle Bitmap verkleinerung

  Alt 15. Okt 2007, 13:41
Hallo,

warum zeigst Du Deine Grafik nicht in einem TImage an und bedienst Dich dann der Proportional-Eigenschaft, um die Grafik auf Bildschirmgröße anzupassen?
  Mit Zitat antworten Zitat
backdraft

Registriert seit: 19. Apr 2005
Ort: Hückeswagen
335 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: Schnelle Bitmap verkleinerung

  Alt 15. Okt 2007, 13:45
Zitat von s-off:
Hallo,

warum zeigst Du Deine Grafik nicht in einem TImage an und bedienst Dich dann der Proportional-Eigenschaft, um die Grafik auf Bildschirmgröße anzupassen?
weil die Qualität mieserabel ist.
Da kann man keinen Buchstaben mehr lesen ...
Oliver
  Mit Zitat antworten Zitat
Vjay

Registriert seit: 2. Dez 2003
Ort: Berlin/Eschede
481 Beiträge
 
Delphi 7 Professional
 
#4

Re: Schnelle Bitmap verkleinerung

  Alt 15. Okt 2007, 14:48
Sämtliche gute Algorythmen brauchen ihre Zeit. Daher legt Windows z.B. die Thumbs.db an, um verkleinerte Bilder zu cachen und deshalb laden PictureViewer das nächste Bild auch immer im voraus.
Wer später bremst ist eher tot.
  Mit Zitat antworten Zitat
backdraft

Registriert seit: 19. Apr 2005
Ort: Hückeswagen
335 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: Schnelle Bitmap verkleinerung

  Alt 15. Okt 2007, 15:26
Zitat von Vjay:
Sämtliche gute Algorythmen brauchen ihre Zeit. Daher legt Windows z.B. die Thumbs.db an, um verkleinerte Bilder zu cachen und deshalb laden PictureViewer das nächste Bild auch immer im voraus.
Danke für den Tip, aber Assembler ist auch schneller als Delphi. Trotzdem programmieren nicht alle Assembler.
Photoshop brauch ca. 2 Sekunde das Bild in die gewünschte Qualität zu verkleinern, GraphicEx ca. 20 Sekunden.
Oliver
  Mit Zitat antworten Zitat
Benutzerbild von Lossy eX
Lossy eX

Registriert seit: 7. Aug 2007
113 Beiträge
 
#6

Re: Schnelle Bitmap verkleinerung

  Alt 15. Okt 2007, 16:12
Assembler ist auch nur dann schneller wenn man genau weiß was man tut. An den passenden Stellen eingesetzt lohnt es zwar richtig aber wunder sind trotzdem nicht drin. Gewisse Dinge brauchen einfach ihre Zeit.

Ein paar Ideen keine Ahnung ob sie wirklich etwas bringen.
1. Du solltest mal schauen ob die GraphicEx evtl die Möglichkeit hat bei der du die Filtermethode einstellen kannst. Es wird häufig so etwas wie Lanczos oder Bicubic benutzt. Die brauchen länger als Linear oder ein Boxfilter, weil sie auch komplexer sind.

2. Für StretchBlt gibt es die Möglichkeit einen Modus einzustellen. Kann mir leider nie merken wie der heißt. Musste mal suchen. Damit kannst du unter XP ein Bild automatisch Glätten lassen wärend es dargestellt wird. Ich meine der hatte eine ganz nette Geschwindigkeit.

3. Zur Not kann man sich einen Boxfilter auch selber schreiben. Der muss ja nicht perfekt sein. Sollte aber trotzdem schneller als 20 Sekunden sein. Bzw da dein Bild wahrscheinlich auch aus mehr als 50% Weiß besteht könnte man solche Stellen auch recht schnell überspringen. Denn so etwas bleibt weiß. Ist aber eine sehr sehr spezielle Optimierung.
Ich habe ja keine Vorurteile gegenüber Autofahrern ... aber Fahrer von BMW und Mercedes bestätigen diese regelmäßig.
Außerdem neue technologische Errungenschaften: Serienmäßig eingebaute Rechtsfahrsperre und der stromsparende Blinker.
  Mit Zitat antworten Zitat
Nuclear-Ping
(Gast)

n/a Beiträge
 
#7

Re: Schnelle Bitmap verkleinerung

  Alt 15. Okt 2007, 16:25
Schau dir mal das an, das sollte sein, was du suchst: http://spotlight.de/zforen/dlp/m/dlp...1475-6567.html
  Mit Zitat antworten Zitat
generic

Registriert seit: 24. Mär 2004
Ort: bei Hannover
2.416 Beiträge
 
Delphi XE5 Professional
 
#8

Re: Schnelle Bitmap verkleinerung

  Alt 15. Okt 2007, 16:33
ich nutzte für skalierungen/darstellung die gdi+.
Coding BOTT - Video Tutorials rund um das Programmieren - https://www.youtube.com/@codingbott
  Mit Zitat antworten Zitat
Antwort Antwort


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 01:30 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz