bahy_my
Active Member
سلام بچه ها
ببینید مشکلم اینه که وقتی تغییر سایز می کنم کیفیت نمیاد پایین اما تصویر از لحاظ رنگ و .. دچار مشکل میشه.
ممنون میشم راهنماییم کنید.
اینم کدمه ( اون کلاس $mehr رو خودتون جایگزین کنید. )
ببینید مشکلم اینه که وقتی تغییر سایز می کنم کیفیت نمیاد پایین اما تصویر از لحاظ رنگ و .. دچار مشکل میشه.
ممنون میشم راهنماییم کنید.
اینم کدمه ( اون کلاس $mehr رو خودتون جایگزین کنید. )
PHP:
if(isset($_FILES['avator'])){
if(($_FILES['avator']['type']=='image/pjpeg') or ($_FILES['avator']['type']=='image/gif') or ($_FILES['avator']['type']=='image/x-png')){
$file_source=$_FILES['avator']['tmp_name'];
$file_name=$_FILES['avator']['name'];
copy($file_source, "avators/$username".$file_name);
if(!($image_1=imagecreatefrompng("avators/$username".$file_name))) {
if(!($image_1=imagecreatefromgif("avators/$username".$file_name))) {
if(!($image_1=imagecreatefromjpeg("avators/$username".$file_name))) {
$mehr->show_alert("مشکل در ارسال فایل");
}
}
}
if(($image_1=imagecreatefrompng("avators/$username".$file_name))) $type=".png";
if(($image_1=imagecreatefromgif("avators/$username".$file_name))) $type=".gif";
if(($image_1=imagecreatefromjpeg("avators/$username".$file_name))) $type=".jpg";
$image_1_width=imagesx($image_1);
$image_1_height=imagesy($image_1);
$image_1_x=0;
$image_1_y=0;
$valid_width=130;
$valid_height=120;
if(($image_1_width>$valid_width) or ($image_1_height>$valid_height)){
$image_2=imagecreate($valid_width, $valid_height);
$image_2_width=$valid_width;
$image_2_height=$valid_height;
$image_2_x=0;
$image_2_y=0;
imagecopyresized(
$image_2, $image_1
,
$image_2_x, $image_2_y
,
$image_1_x, $image_1_y
,
$image_2_width, $image_2_height
,
$image_1_width, $image_1_height
);
unlink("avators/$username".$file_name);
if($type==".jpg"){
imagejpeg($image_2, "avators/$username".'_'."avator$type", 1000);
}else if($type==".gif"){
imagegif($image_2, "avators/$username".'_'."avator$type", 1000);
}else if($type==".png"){
imagepng($image_2, "avators/$username".'_'."avator$type", 1000);
}
}else{
unlink("avators/$username".$file_name);
copy($file_source, "avators/$username".'_'."avator$type");
}
$q_1=mysql_query("update user set avator='$username".'_'."avator$type"."' where name='$username'");
$mehr->show_alert("آواتور شما تغییر کرد");
$mehr->redirect("?");
}else{
$mehr->show_alert("فایل ارسالی شما تصویر نیست !");
$mehr->redirect("?edit=avator");
}
}
}