}
public function orient($filename) {
+ if ($this->is_imagick()) {
+ // based off comment on http://php.net/manual/en/imagick.getimageorientation.php
+ $orientation = $this->image->getImageOrientation();
+ switch ($orientation) {
+ case imagick::ORIENTATION_BOTTOMRIGHT:
+ $this->image->rotateimage("#000", 180);
+ break;
+ case imagick::ORIENTATION_RIGHTTOP:
+ $this->image->rotateimage("#000", 90);
+ break;
+ case imagick::ORIENTATION_LEFTBOTTOM:
+ $this->image->rotateimage("#000", -90);
+ break;
+ }
+
+ $this->image->setImageOrientation(imagick::ORIENTATION_TOPLEFT);
+ return TRUE;
+ }
// based off comment on http://php.net/manual/en/function.imagerotate.php
if(!$this->is_valid())
- return FALSE;
+ return FALSE;
if( (! function_exists('exif_read_data')) || ($this->getType() !== 'image/jpeg') )
- return;
-
- $exif = @exif_read_data($filename);
+ return;
- if(! $exif)
- return;
+ $exif = @exif_read_data($filename,null,true);
+ if(! $exif)
+ return;
- $ort = $exif['Orientation'];
+ $ort = $exif['IFD0']['Orientation'];
switch($ort)
{
$this->rotate(90);
break;
}
+
+ // logger('exif: ' . print_r($exif,true));
+ return $exif;
+
}
$page_owner_nick = $r[0]['nickname'];
-// To-Do:
-// $default_cid = $r[0]['id'];
-// $community_page = (($r[0]['page-flags'] == PAGE_COMMUNITY) ? true : false);
+ /// @TODO
+ /// $default_cid = $r[0]['id'];
+ /// $community_page = (($r[0]['page-flags'] == PAGE_COMMUNITY) ? true : false);
if ((strlen($imagedata) == 0) AND ($url == "")) {
logger("No image data and no url provided", LOGGER_DEBUG);
return($image);
}
+