We are no longer offering accounts on this server. Consider https://gitlab.freedesktop.org/ as a place to host projects.

Commit d9008931 authored by Sean Murphy's avatar Sean Murphy

Fixed #1152: Needless image scaling and poor JPG quality

parent d6245dca
...@@ -112,6 +112,23 @@ class ImageFile ...@@ -112,6 +112,23 @@ class ImageFile
throw new Exception(_('Lost our file.')); throw new Exception(_('Lost our file.'));
return; 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) { switch ($this->type) {
case IMAGETYPE_GIF: case IMAGETYPE_GIF:
...@@ -165,7 +182,7 @@ class ImageFile ...@@ -165,7 +182,7 @@ class ImageFile
imagegif($image_dest, $outpath); imagegif($image_dest, $outpath);
break; break;
case IMAGETYPE_JPEG: case IMAGETYPE_JPEG:
imagejpeg($image_dest, $outpath); imagejpeg($image_dest, $outpath, 100);
break; break;
case IMAGETYPE_PNG: case IMAGETYPE_PNG:
imagepng($image_dest, $outpath); imagepng($image_dest, $outpath);
...@@ -174,6 +191,9 @@ class ImageFile ...@@ -174,6 +191,9 @@ class ImageFile
throw new Exception(_('Unknown file type')); throw new Exception(_('Unknown file type'));
return; return;
} }
imagedestroy($image_src);
imagedestroy($image_dest);
return $outname; return $outname;
} }
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment