convert: Don't rely on PHP GD to get the image dimensions; use identify
.
This commit is contained in:
parent
fe7182404f
commit
c6478b378f
@ -220,14 +220,16 @@
|
|||||||
|
|
||||||
}
|
}
|
||||||
public function from() {
|
public function from() {
|
||||||
if(!$size = @getimagesize($this->src))
|
$size = trim(shell_exec('identify -format "%w %h" ' . escapeshellarg($this->src . '[0]')));
|
||||||
return $this->image = false;
|
if(preg_match('/^(\d+) (\d+)$/', $size, $m)) {
|
||||||
|
$this->width = $m[1];
|
||||||
|
$this->height = $m[2];
|
||||||
|
|
||||||
$this->width = $size[0];
|
$this->image = true;
|
||||||
$this->height = $size[1];
|
} else {
|
||||||
|
// mark as invalid
|
||||||
// mark as valid
|
$this->image = false;
|
||||||
$this->image = true;
|
}
|
||||||
}
|
}
|
||||||
public function to($src) {
|
public function to($src) {
|
||||||
rename($this->temp, $src);
|
rename($this->temp, $src);
|
||||||
@ -247,7 +249,7 @@
|
|||||||
|
|
||||||
$quality = $config['thumb_quality'] * 10;
|
$quality = $config['thumb_quality'] * 10;
|
||||||
|
|
||||||
if(shell_exec("convert -flatten -antialias -filter Point -scale {$this->width}x{$this->height} -quality {$quality} " . escapeshellarg($this->src . '[0]') . " " . escapeshellarg($this->temp)))
|
if(shell_exec("convert -flatten -antialias -filter Point -scale {$this->width}x{$this->height} -quality {$quality} " . escapeshellarg($this->src . '[0]') . " " . escapeshellarg($this->temp)) || !file_exists($this->temp))
|
||||||
error('Failed to resize image!');
|
error('Failed to resize image!');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user