Şu anda bir poster baskı Web uygulaması geliştirmek için PHP ve Imagick'teki ile çalışıyor.
Bu benim uygulama yükleme / görüntü düzenleme özellikleri test etmek için kullanıyorum örnek görüntü:
Görüntü aşağıdaki EXIF verileri içerir:
[FileName] => 1290599108_IMG_6783.JPG
[FileDateTime] => 1290599109
[FileSize] => 4275563
[FileType] => 2
[MimeType] => image/jpeg
[SectionsFound] => ANY_TAG, IFD0, THUMBNAIL, EXIF, INTEROP, MAKERNOTE
[COMPUTED] => Array
(
[html] => width="3504" height="2336"
[Height] => 2336
[Width] => 3504
[IsColor] => 1
[ByteOrderMotorola] => 0
[CCDWidth] => 22mm
[ApertureFNumber] => f/5.6
[UserComment] =>
[UserCommentEncoding] => UNDEFINED
[Thumbnail.FileType] => 2
[Thumbnail.MimeType] => image/jpeg
)
[Make] => Canon
[Model] => Canon EOS 30D
[Orientation] => 6
[XResolution] => 72/1
[YResolution] => 72/1
[ResolutionUnit] => 2
[DateTime] => 2009:08:31 08:23:49
[YCbCrPositioning] => 2
[Exif_IFD_Pointer] => 196
Ancak - (! Bence) __ bu görüntü ile construct'ed Imagick, otomatik başına [Orientation] => 6
olarak buna bir ilave 90 derece SOLA döner. Bu Sonuçlanabilecek ...
Ne bilmek istiyorum bir ...
Nasıl sayfanın üst kısmında görülen görüntünün orijinal yönünü koruyabilirsiniz? Ve bu Imagick tarafından gerçekleştirilen otomatik rotasyon devre dışı bırakma ile mümkündür?
Çok teşekkürler
UPDATE: Here's the solution I've come up with... It will fix the orientation based on the orientation in the EXIF data
public function fixOrientation() {
$exif = exif_read_data($this->imgSrc);
$orientation = $exif['Orientation'];
switch($orientation) {
case 6: // rotate 90 degrees CW
$this->image->rotateimage("#FFF", 90);
break;
case 8: // rotate 90 degrees CCW
$this->image->rotateimage("#FFF", -90);
break;
}
}