Domanda

Ho usato F-Spot su Ubuntu per ruotare alcune foto (file JPEG) prima che io li FTPed fino al mio sito web. Questo sembrava funzionare bene. Tuttavia, se tali immagini sono aperte in un browser Web, non mostrano come ruotato. Né essi se li posso scaricare a una macchina Windows Vista e aprirli con qualsiasi programma standard lì. Sospetto che F-Spot ruota le immagini modificando i dati exif o simili, non dal fatto ruotare le immagini.

Quindi voglio un po 'di funzione che verrà eseguito sul mio server web (ad esempio, PHP o Perl), che accetta un array di percorsi di file, esaminare le immagini, e ruotare quelli che hanno bisogno di essere ruotato, sovrascrivere il file originale.

So che alcuni PHP, ma non Perl.


Nel corso della ricerca per vedere se tale questione era già stato chiesto, mi sono imbattuto in alcune idee. Potrei essere in grado, dopo alcuni tentativi ed errori, a bussare qualcosa insieme utilizzando glob (), exif_read_data (), e imagerotate (). Ci proverò domani. Ma ora vado a letto.

È stato utile?

Soluzione

In Perl, Penso che si desidera "ExifTool -Orientation" . Il PHP equivalente sembra essere accessibili attraverso "exif_read_data" .

Altri suggerimenti

Copia questo direttamente dal sito Web PHP: http: //us.php .net / manuale / it / function.imagerotate.php

  

Questo esempio ruotare un'immagine 180   gradi -. a testa in giù

<?php
// File and rotation
$filename = 'test.jpg';
$degrees = 180;

// Content type
header('Content-type: image/jpeg');

// Load
$source = imagecreatefromjpeg($filename);

// Rotate
$rotate = imagerotate($source, $degrees, 0);

// Output
imagejpeg($rotate);
?>

Per l'output del file ad un nuovo nome, utilizzando dell'esempio precedente:

// Output
imagejpeg($rotate, "new-" . $filename);
?>
scroll top