Bild spiegeln

Hier kann über alles diskutiert werden, wirklich alles. Betonung liegt auf "diskutiert", das ist also kein Freischein zum Spammen.
(Beitragszähler deaktiviert)
Benutzeravatar
Conny Kramer
Zauberer der Bergwiesen
Beiträge: 453
Registriert: 25. Apr 2007, 17:31
Wohnort: da wo das Gras noch schmeckt.. xD
Kontaktdaten:

Re: Bild spiegeln

Beitrag von Conny Kramer » 2. Dez 2010, 17:39

du hast geschrieben ich soll selber googlen-sehr große hilfe.

die funktion funktioniert soweit das problem is nur dass die ganz linke "pixelspalte" immer vollständig schwarz ist - egal wie groß das bild ist.
Gehen 2 Irre durch die Wüste
Sagt der eine zum anderen:''He, ich will auch mal in der Mitte gehen!''

Benutzeravatar
Schmiddi
Feuervogel
Beiträge: 4467
Registriert: 26. Jul 2005, 17:09

Re: Bild spiegeln

Beitrag von Schmiddi » 2. Dez 2010, 17:49

Hoffentlich klappts nie :)

Benu
Zauberer der Bergwiesen
Beiträge: 658
Registriert: 26. Okt 2008, 13:21

Re: Bild spiegeln

Beitrag von Benu » 2. Dez 2010, 18:05

Conny Kramer hat geschrieben:
Benu hat geschrieben:
SpoilerShow

Code: Alles auswählen

define("FLIP_X", 1);    // spiegeln an X-Achse
define("FLIP_Y", 2);    // spiegeln an Y-Achse
define("FLIP_BOTH", 4); // Punktspiegelung im Mittelpunkt

/**
 * image_flip
 *
 * spiegelt ein Bild in eienr bestimmten Richtung
 *
 * @ToDo:
 * - kopieren der Pixel funktioniert nicht korrekt bei weißen (eventuell auch schwarzen) Pixeln
 *
 * @param $source Ressource Zeiger auf das Bild, was gespiegelt werden soll
 * @param $flip   int       Richtung in die gespiegelt wird (FLIP_X, FLIP_Y, FLIP_BOTH)
 * @return Ressource
 */
function image_flip($source, $flip) {
	$x_max = imagesx($source);
	$y_max = imagesy($source);
	$im = imagecreatetruecolor($x_max, $y_max);
           $white = imagecolorallocate($im, 255, 255, 255);
	imagefill($im, 0, 0, $white);
	
	for ($y_i = 0; $y_i < $y_max; ++$y_i) {
		for ($x_i = 0; $x_i < $x_max; ++$x_i) {
			$color = imagecolorat($source, $x_i, $y_i);
			$coords = flip_coords($x_i, $y_i, $x_max, $y_max, $flip);

			imagesetpixel($im, $coords[0], $coords[1], $color);
		}
	}
	
	return $im;
}

/**
 * flip_coords
 *
 * spiegelt Koordinaten in bestimmte Richtung
 * 
 * @param $x     int reele x-Koordinate
 * @param $y     int reele y-Koordinate
 * @param $x_max int Breite des Koordinatensystems
 * @param $y_max int Breite des Koordinatensystems
 * @return array
 */
function flip_coords($x, $y, $x_max, $y_max, $direction) {
	$coords = array($x, $y);
	
	if ($direction == FLIP_X || $direction == FLIP_BOTH) {
		$coords[0] = $x_max-$x;
	}
	if ($direction == FLIP_Y || $direction == FLIP_BOTH) {
		$coords[1] = $y_max-$y;
	}
	return $coords;
}
Habs kurz mit 2 Bildern getestet und funktionierte da auch.

das funktioniert nicht richtig bei mir. hab es mit meinem schwarz -weiß bild probiert und da erscheinen immer noch zusätzlich schwarze pixel auf dem gespiegelten bild.
Der zitierte Code wurde angepasst und es dürften nun keine falschen Ränder auftauchen. Das Skript funktioniert nicht bei gif Bildern ode rtransparenten Bilder. Dort erscheinen transparente Pixel als weiße Pixel. Werd mal schaun, ob sich das auch lösen lässt aber das obige Skript läuft für 15min Arbeitszeit immerhin recht passabel.
http://fwrails.net
lokale Styes in Google Chrome
lokale Styles in Gologle folgen...
I'm beginning to feel like a Spam God

Benutzeravatar
Conny Kramer
Zauberer der Bergwiesen
Beiträge: 453
Registriert: 25. Apr 2007, 17:31
Wohnort: da wo das Gras noch schmeckt.. xD
Kontaktdaten:

Re: Bild spiegeln

Beitrag von Conny Kramer » 2. Dez 2010, 18:09

naja jetzt ist die ganze linke spalte weiß :( also funktioniert es noch nicht perfekt

es ist ein png ohne transparente pixel
Gehen 2 Irre durch die Wüste
Sagt der eine zum anderen:''He, ich will auch mal in der Mitte gehen!''

Benutzeravatar
Conny Kramer
Zauberer der Bergwiesen
Beiträge: 453
Registriert: 25. Apr 2007, 17:31
Wohnort: da wo das Gras noch schmeckt.. xD
Kontaktdaten:

Re: Bild spiegeln

Beitrag von Conny Kramer » 2. Dez 2010, 18:32

hat sich erledigt
Gehen 2 Irre durch die Wüste
Sagt der eine zum anderen:''He, ich will auch mal in der Mitte gehen!''

Benutzeravatar
Alanthir Rimthar
Zauberer der Bergwiesen
Beiträge: 582
Registriert: 25. Okt 2009, 15:16
Wohnort: Hamburg

Re: Bild spiegeln

Beitrag von Alanthir Rimthar » 3. Dez 2010, 10:03

Ich kenne mich mit PHP zwar nicht aus, aber kann man das Bild nicht einfach in einem Bildbearbeitungsprogramm wie Picture Manager spiegeln und dann normal einfügen :?:
Alanthir Rimthar (RP)

Meine Freewar UI's:
Neuer Zustand für mehr Aktivität 82% |Neues Waffensystem 79% |Schnellverkauf 89% | COD-Pakete (Nachnahme) 86%

Benutzeravatar
mick
Zauberer der Bergwiesen
Beiträge: 455
Registriert: 24. Apr 2006, 20:46

Re: Bild spiegeln

Beitrag von mick » 3. Dez 2010, 14:54

Wenn er es in PHP braucht wird das seinen Grund haben...

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 26 Gäste