خطا‌‌ها‌ی زیر رخ داد:
Warning [2] preg_replace_callback(): Requires argument 2, 'mwsshcode_check("$1","$2")', to be a valid callback - Line: 197 - File: inc/plugins/mwsshcode.php PHP 7.3.4 (Linux)
File Line Function
[PHP]   errorHandler->error
/inc/plugins/mwsshcode.php 197 preg_replace_callback
/inc/class_plugins.php 139 mwsshcode_run
/inc/class_parser.php 187 pluginSystem->run_hooks
/inc/functions_post.php 721 postParser->parse_message
/showthread.php 1063 build_postbit
Warning [2] preg_replace_callback(): Requires argument 2, 'mwsshcode_check("$1","$2")', to be a valid callback - Line: 197 - File: inc/plugins/mwsshcode.php PHP 7.3.4 (Linux)
File Line Function
[PHP]   errorHandler->error
/inc/plugins/mwsshcode.php 197 preg_replace_callback
/inc/class_plugins.php 139 mwsshcode_run
/inc/class_parser.php 187 pluginSystem->run_hooks
/inc/functions_post.php 721 postParser->parse_message
/showthread.php 1063 build_postbit
Warning [2] preg_replace_callback(): Requires argument 2, 'mwsshcode_check("$1","$2")', to be a valid callback - Line: 197 - File: inc/plugins/mwsshcode.php PHP 7.3.4 (Linux)
File Line Function
[PHP]   errorHandler->error
/inc/plugins/mwsshcode.php 197 preg_replace_callback
/inc/class_plugins.php 139 mwsshcode_run
/inc/class_parser.php 187 pluginSystem->run_hooks
/inc/functions_post.php 752 postParser->parse_message
/showthread.php 1063 build_postbit




رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
تغییر اندازه تصویر بدون افت کیفیت
#1
سلام و عرض ادب و احترام 
به این کدمن یه نگاه بندازین
من با استفاده از این تابع که نوشتم اندازه تصویرم رو عوض میکنم . 
این تابع انددازه تصویر رو عوض میکنه و به اندازه دلخواه تبدیل میکنه ولی خیلی افت کیفیت داره . 
آیا تابعی به غیر از imagecopyresized برای تغییر اندازه تصویر وجود داره ؟
به طوری که افت کیفیت کم باشه .
 
آیا تو تابع imagecopyresized میشه تنظیماتی انجام داد که کیفیتش رو ببره بالا .
ممنون از لطفتون

[shcode=php]public function resizee($file,$size=900){



$filename = $file;

list($width,$height) = getimagesize($filename);

$w = $width;

$h = $height;

$r = $w / $h;

$ww=$size;

$hh=(int)$ww/$r;







$newwidth =$ww;

$newheight =$hh;

$thumb = imagecreatetruecolor($newwidth, $newheight);





$ext=substr(strrchr($file,'.'), 1);

switch($ext){



case 'jpg':

$source=imagecreatefromjpeg($filename);

imagecopyresized($thumb, $source,0, 0, 0, 0, $newwidth, $newheight, $width, $height);

imagejpeg($thumb,$file);

break;





case 'JPG':

$source=imagecreatefromjpeg($filename);

imagecopyresized($thumb, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);

imagejpeg($thumb,$file);

break;





case 'jpeg':

$source=imagecreatefromjpeg($filename);

imagecopyresized($thumb, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);

imagejpeg($thumb,$file);

break;





case 'JPEG':

$source=imagecreatefromjpeg($filename);

imagecopyresized($thumb, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);

imagejpeg($thumb,$file);

break;







case 'png':

$source=imagecreatefrompng($filename);

imagealphablending($source,true);

imagesavealpha($source,true);

imagecopyresized($thumb, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);

imagepng($thumb,$file);

break;





case 'PNG':

$source=imagecreatefrompng($filename);

imagealphablending($source,true);

imagesavealpha($source,true);

imagecopyresized($thumb, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);

imagepng($thumb,$file);

break;





case 'gif':

$source=imagecreatefromgif($filename);

imagecopyresized($thumb, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);

imagegif($thumb,$file);

break;



case 'GIF':

$source=imagecreatefromgif($filename);

imagecopyresized($thumb, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);

imagegif($thumb,$file);

break;



}

}
[/shcode]
پاسخ
تشکر شده توسط:
#2
از ImageCopyResampled استفاده کنید.
پاسخ
تشکر شده توسط:




کاربران در حال بازدید این موضوع: 1 مهمان