consistent handling of scaled images when using imagick
This commit is contained in:
parent
84199e6e71
commit
112fafcc81
2 changed files with 26 additions and 24 deletions
|
@ -205,27 +205,6 @@ class Photo {
|
|||
if(!$this->is_valid())
|
||||
return FALSE;
|
||||
|
||||
if($this->is_imagick()) {
|
||||
/**
|
||||
* If it is not animated, there will be only one iteration here,
|
||||
* so don't bother checking
|
||||
*/
|
||||
// Don't forget to go back to the first frame
|
||||
$this->image->setFirstIterator();
|
||||
do {
|
||||
|
||||
// FIXME - implement horizantal bias for scaling as in followin GD functions
|
||||
// to allow very tall images to be constrained only horizontally.
|
||||
|
||||
$this->image->resizeImage($max, $max, imagick::FILTER_LANCZOS, 1, true);
|
||||
} while ($this->image->nextImage());
|
||||
|
||||
// FIXME - also we need to copy the new dimensions to $this->height, $this->width as other functions
|
||||
// may rely on it.
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
$width = $this->width;
|
||||
$height = $this->height;
|
||||
|
||||
|
@ -283,6 +262,28 @@ class Photo {
|
|||
}
|
||||
|
||||
|
||||
if($this->is_imagick()) {
|
||||
/**
|
||||
* If it is not animated, there will be only one iteration here,
|
||||
* so don't bother checking
|
||||
*/
|
||||
// Don't forget to go back to the first frame
|
||||
$this->image->setFirstIterator();
|
||||
do {
|
||||
|
||||
// FIXME - implement horizantal bias for scaling as in followin GD functions
|
||||
// to allow very tall images to be constrained only horizontally.
|
||||
|
||||
$this->image->scaleImage($dest_width, $dest_height);
|
||||
} while ($this->image->nextImage());
|
||||
|
||||
// FIXME - also we need to copy the new dimensions to $this->height, $this->width as other functions
|
||||
// may rely on it.
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
$dest = imagecreatetruecolor( $dest_width, $dest_height );
|
||||
imagealphablending($dest, false);
|
||||
imagesavealpha($dest, true);
|
||||
|
@ -400,8 +401,6 @@ class Photo {
|
|||
if(!$this->is_valid())
|
||||
return FALSE;
|
||||
|
||||
if($this->is_imagick())
|
||||
return $this->scaleImage($min);
|
||||
|
||||
$width = $this->width;
|
||||
$height = $this->height;
|
||||
|
@ -438,6 +437,8 @@ class Photo {
|
|||
}
|
||||
}
|
||||
|
||||
if($this->is_imagick())
|
||||
return $this->scaleImage($dest_width,$dest_height);
|
||||
|
||||
$dest = imagecreatetruecolor( $dest_width, $dest_height );
|
||||
imagealphablending($dest, false);
|
||||
|
@ -460,7 +461,7 @@ class Photo {
|
|||
if($this->is_imagick()) {
|
||||
$this->image->setFirstIterator();
|
||||
do {
|
||||
$this->image->resizeImage($dim, $dim, imagick::FILTER_LANCZOS, 1, false);
|
||||
$this->image->scaleImage($dim, $dim);
|
||||
} while ($this->image->nextImage());
|
||||
return;
|
||||
}
|
||||
|
|
|
@ -994,6 +994,7 @@ function handle_tag($a, &$body, &$inform, &$str_tags, $profile_uid, $tag) {
|
|||
intval($tagcid),
|
||||
intval($profile_uid)
|
||||
);
|
||||
}
|
||||
else {
|
||||
$newname = str_replace('_',' ',$name);
|
||||
|
||||
|
|
Loading…
Reference in a new issue