Fixed #1152: Needless image scaling and poor JPG quality

This commit is contained in:
Sean Murphy 2009-02-07 10:01:08 -05:00
parent d6245dca63
commit d900893149
1 changed files with 21 additions and 1 deletions

View File

@ -112,6 +112,23 @@ class ImageFile
throw new Exception(_('Lost our file.'));
return;
}
// Don't crop/scale if it isn't necessary
if ($size === $this->width
&& $size === $this->height
&& $x === 0
&& $y === 0
&& $w === $this->width
&& $h === $this->height) {
$outname = common_avatar_filename($this->id,
image_type_to_extension($this->type),
$size,
common_timestamp());
$outpath = common_avatar_path($outname);
@copy($this->filepath, $outpath);
return $outname;
}
switch ($this->type) {
case IMAGETYPE_GIF:
@ -165,7 +182,7 @@ class ImageFile
imagegif($image_dest, $outpath);
break;
case IMAGETYPE_JPEG:
imagejpeg($image_dest, $outpath);
imagejpeg($image_dest, $outpath, 100);
break;
case IMAGETYPE_PNG:
imagepng($image_dest, $outpath);
@ -174,6 +191,9 @@ class ImageFile
throw new Exception(_('Unknown file type'));
return;
}
imagedestroy($image_src);
imagedestroy($image_dest);
return $outname;
}