Registriert seit: 16. Dez 2002
Ort: Dülmen
477 Beiträge
Delphi 2009 Professional
|
Re: Verlustfreies Zoomen von Bildern (Interpolieren)
19. Okt 2003, 11:59
Das Problem dabei ist nur, dass Stan ja immer jeden zweiten Pixel interpoliert hat, und wenn er einen beliebigen Vergrößerungsfaktor nimmt, hat er diese Regelmäßigkeit nicht mehr.
Ich würde dabei allerdings folgendes vorschlagen:
Wie bereits erwähnt erstmal das Bild mit Stretchdrwa vergrößern. Dann musst du herausfinden wieviele Pixel dazugekommen sind, also die (für die Breite) Width der neuen Bitmap minus die Width der alten. Da man die neuen Pixel ja gleichmäßig auf das Bild verteilen muss, muss man die neue Breite durch die Anzahl der neuen Pixel teilen.
Ein Beispiel:
Du hast 20 Pixel, stechst sie auf 25. Es gibt also 5 neue Pixel. 25/5=5, es müsste also jeder fünfte Pixel interpoliert werden. Gibts nur noch das Problem, dass der letzter zu interpolierende Pixel auch der letzte des Bildes ist, man also keinen zweiten Vergleichspixel hat. Naja, da kann man sich aushelfen indem man für den letzten Pixel einfach dieselben Werte nimmt wie für den vorletzten.
Ich bin mir nicht sicher ob das immer funktioniert, aber n Denkanstoß ist das doch bestimmt...
Bis dann,
S - tefano
"Sir, we are surrounded!" - "Excellent, we can attack in every direction!"
|