bug 1701 fixed: support for PNG file in browser direct upload.
If the picture is a PNG file, then the "web size" picture is also a PNG file but the thumbnail is always a JPEG file. git-svn-id: http://piwigo.org/svn/branches/2.1@6616 68402e56-0260-453c-a942-63ccdbb3a9ee
This commit is contained in:
parent
b735fef251
commit
b7bdd22773
2 changed files with 24 additions and 6 deletions
|
@ -42,7 +42,17 @@ function add_uploaded_file($source_filepath, $original_filename=null, $categorie
|
||||||
$date_string = preg_replace('/[^\d]/', '', $dbnow);
|
$date_string = preg_replace('/[^\d]/', '', $dbnow);
|
||||||
$random_string = substr($md5sum, 0, 8);
|
$random_string = substr($md5sum, 0, 8);
|
||||||
$filename_wo_ext = $date_string.'-'.$random_string;
|
$filename_wo_ext = $date_string.'-'.$random_string;
|
||||||
$file_path = $upload_dir.'/'.$filename_wo_ext.'.jpg';
|
$file_path = $upload_dir.'/'.$filename_wo_ext.'.';
|
||||||
|
|
||||||
|
list($width, $height, $type) = getimagesize($source_filepath);
|
||||||
|
if (IMAGETYPE_PNG == $type)
|
||||||
|
{
|
||||||
|
$file_path.= 'png';
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$file_path.= 'jpg';
|
||||||
|
}
|
||||||
|
|
||||||
prepare_directory($upload_dir);
|
prepare_directory($upload_dir);
|
||||||
if (is_uploaded_file($source_filepath))
|
if (is_uploaded_file($source_filepath))
|
||||||
|
@ -198,11 +208,11 @@ function pwg_image_resize($result, $source_filepath, $destination_filepath, $max
|
||||||
$source_image = null;
|
$source_image = null;
|
||||||
if (in_array($extension, array('jpg', 'jpeg')))
|
if (in_array($extension, array('jpg', 'jpeg')))
|
||||||
{
|
{
|
||||||
$source_image = @imagecreatefromjpeg($source_filepath);
|
$source_image = imagecreatefromjpeg($source_filepath);
|
||||||
}
|
}
|
||||||
else if ($extension == 'png')
|
else if ($extension == 'png')
|
||||||
{
|
{
|
||||||
$source_image = @imagecreatefrompng($source_filepath);
|
$source_image = imagecreatefrompng($source_filepath);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -252,7 +262,15 @@ function pwg_image_resize($result, $source_filepath, $destination_filepath, $max
|
||||||
$source_height
|
$source_height
|
||||||
);
|
);
|
||||||
|
|
||||||
imagejpeg($destination_image, $destination_filepath, $quality);
|
$extension = strtolower(get_extension($destination_filepath));
|
||||||
|
if ($extension == 'png')
|
||||||
|
{
|
||||||
|
imagepng($destination_image, $destination_filepath);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
imagejpeg($destination_image, $destination_filepath, $quality);
|
||||||
|
}
|
||||||
// freeing memory ressources
|
// freeing memory ressources
|
||||||
imagedestroy($source_image);
|
imagedestroy($source_image);
|
||||||
imagedestroy($destination_image);
|
imagedestroy($destination_image);
|
||||||
|
|
|
@ -106,8 +106,8 @@ var buttonText = 'Browse';
|
||||||
'displayData' : 'speed',
|
'displayData' : 'speed',
|
||||||
'buttonText' : buttonText,
|
'buttonText' : buttonText,
|
||||||
'multi' : true,
|
'multi' : true,
|
||||||
'fileDesc' : 'Photo files (*.jpg,*.jpeg)',
|
'fileDesc' : 'Photo files (*.jpg,*.jpeg,*.png)',
|
||||||
'fileExt' : '*.jpg;*.JPG;*.jpeg;*.JPEG',
|
'fileExt' : '*.jpg;*.JPG;*.jpeg;*.JPEG;*.png;*.PNG',
|
||||||
'onAllComplete' : function(event, data) {
|
'onAllComplete' : function(event, data) {
|
||||||
if (data.errors) {
|
if (data.errors) {
|
||||||
return false;
|
return false;
|
||||||
|
|
Loading…
Add table
Reference in a new issue