| 

.NET C# Java Javascript Exception

Omnidirectional 2 Spherical

Dies ist das Archiv des ehemaligen Forums zum Thema Groovy, Grails, Griffon und Bean Scripting Framework, welches unter groovy-forum.de existierte. Die neue Adresse des Groovy-Forums ist: http://codekicker.de/fragen/themen/groovy.


Omnidirectional 2 Spherical

occurred - 13.05.2010 17:47
Hallo,

ich bin gerade dabei für ein kleiners Projekt ein omnidirectional Bild in ein spherical Bild umzuwandeln.

Dies hat mit folgendem Code eigentlich scon super funktioniert:

import java.awt.image.BufferedImage
import javax.imageio.ImageIO		

String inFile = '/myPath/webcast.jpg'
BufferedImage img = ImageIO.read(new File(inFile));

//dimension für ausgabe bild:
int width = 1200
int height = 300

// daten im quellbild:
double r1 = 260              //innenradius
double r2 = 1160             //aussenradius
double offx = 1278           //mittepunkt X
double offy = 1280           //mittelounkt Y

double pi = Math.PI
int ix = 0
int iy = 0
int y = 0
int x = 0
double al = 0
double kat = 0
int color = 0

BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB)

for (y = image.getHeight(); y > 0; y--) {

	for (x = 0; x < image.getWidth(); x++) {

		//calculate the X/Y position of the pixel in the source
		al = (x / (width - 1)) * 2 * pi;
		kat = r1 + (((y - 1) / (height)) * (r2 - r1));
		ix = offx + kat * Math.cos(al);
		iy = offy + kat * Math.sin(al);

		// get one pixel
		color = img.getRGB(ix, iy)

		// set one pixel
		image.setRGB(x, height - y, color)
	}
}

File f = new File('/myPath/test.jpg');
ImageIO.write(image, "jpg", f)

Leider ist das Ergebnis nicht perfekt und es "pixelt" etwas.

Falls jemand den Code testen will, das Bild habe ich hier hinterlegt:
[img443.imageshack.us]

Hat jemand eine Idee was ich da falsch mache, bzw. wie ich das Ergebnis verbessern kann?

lg
Charlie


Stelle deine Groovy-Frage jetzt!


Diese Seite zeigt den Thread "Omnidirectional 2 Spherical" der ehemaligen Webseite groovy-forum.de, welche durch einen Serverunfall zerstört wurde. codekicker.de hat viele Konversationen über die beliebte Programmiersprache Groovy und zugehörige Frameworks wie das Grails-Framework retten können.

Hast Du eine Frage zum Thema Groovy, Grails oder allgemein Java? Viele ehemalige groovy-forum.de Mitglieder beantworten dir auf codekicker.de deine Frage! Stelle jetzt eine Frage!

Viele weitere Diskussionen zu Grails und Groovy befinden sich auf der Threadübersicht des alten groovy-forum.de.