[drupal-devel] [bug] Always resizing user pictures breaks
transparency?
leafish_paul
drupal-devel at drupal.org
Mon Jun 13 21:29:55 UTC 2005
Issue status update for http://drupal.org/node/24946
Project: Drupal
Version: 4.6.1
Component: user.module
Category: bug reports
Priority: normal
Assigned to: Anonymous
Reported by: leafish_paul
Updated by: leafish_paul
Status: patch
Attachment: http://drupal.org/files/issues/user.module_tweaked_picture_resizing.patch (1.47 KB)
I recently noticed that when uploading transparent user pictures to a
Drupal site, the transparent colour is lost (replaced with black). I
think its to do with image_size()... but I noticed the slightly odd
logic in user.module:
<?php
if (!$info || !$info['extension']) {
form_set_error('picture', t('The uploaded file was not an
image.'));
}
else if (image_get_toolkit()) {
image_scale($file->filepath, $file->filepath, $maxwidth,
$maxheight);
}
else if (filesize($file->filepath) >
(variable_get('user_picture_file_size', '30') * 1000)) {
form_set_error('picture', t('The uploaded image is too large;
the maximum file size is %size kB.', array('%size' =>
variable_get('user_picture_file_size', '30'))));
}
else if ($info['width'] > $maxwidth || $info['height'] >
$maxheight) {
form_set_error('picture', t('The uploaded image is too large;
the maximum dimensions are %dimensions pixels.', array('%dimensions' =>
variable_get('user_picture_dimensions', '85x85'))));
}
?>
So, the image is always scaled if an image toolkit is found. The
attached patch /only/ scales user pictures if they are too large, and
will still show an error if a toolkit is not found.
I'm aware that there may be a better patch for image.inc to retain
scaled image transparency?
leafish_paul
More information about the drupal-devel
mailing list