آژانس هواپیماییexchanging

تغییر سایز عکس در GD

شروع موضوع توسط Parsa_361 ‏4 سپتامبر 2005 در انجمن PHP

  1. Parsa_361

    Parsa_361 کاربر فعال صفحات داینامیک کاربر فعال

    تاریخ عضویت:
    ‏5 آگوست 2005
    نوشته ها:
    889
    تشکر شده:
    10
    محل سکونت:
    Isfahan, php.ini
    من یه تابع می خواستم که مستقیم برام سایز یه عکس رو عوض (کوچیک) کنه و بعد هم اونو ذخیره کنم.
    من قبلاً این کار رو به صورت خیلی پر دردسر انجام می دادمم که کیفیت عکس هم پایین می ومد.
    ...
    حتماً باید تابعی باشه که این کار رو بکنه.
    لطفاً راهنمایی کنید.
     
  2. miladmovie

    miladmovie مدیر بازنشسته کاربر فعال

    تاریخ عضویت:
    ‏25 دسامبر 2002
    نوشته ها:
    1,936
    تشکر شده:
    2
    این پیغام ای که مردم گذاشتند رو توی اینجا بخون :
    http://php.morva.net/manual/en/function.imagecopyresized.php
    این کده بد نیست ولی از عکسه کپی نمی گیره !
    یکم همون مطلاب رو بخون شاید توش چیزی باشه !
    PHP:
    <?php
    //                      Resize image.
    //            Writeen By: Smelban & Haker4o
    // Mails [email protected] & [email protected]
    // This code is written to only execute on  jpg,gif,png     
    // $picname = resizepics('pics', 'new widthmax', 'new heightmax');
    // Demo  $picname = resizepics('stihche.jpg', '180', '140');
    $picname resizepics('picture-name.format''180''140');
    echo 
    $pickname;
    //Error
    die( "<font color=\"#FF0066\"><center><b>File not exists :(<b></center></FONT>");
    //Funcion resizepics
    function resizepics($pics$newwidth$newheight){
         if(
    preg_match("/.jpg/i""$pics")){
               
    header('Content-type: image/jpeg');
         }
         if (
    preg_match("/.gif/i""$pics")){
               
    header('Content-type: image/gif');
         }
         list(
    $width$height) = getimagesize($pics);
         if(
    $width $height && $newheight $height){
           
    $newheight $height / ($width $newwidth);
         } else if (
    $width $height && $newwidth $width) {
           
    $newwidth $width / ($height $newheight);   
         } else {
           
    $newwidth $width;
           
    $newheight $height;
       }
       if(
    preg_match("/.jpg/i""$pics")){
       
    $source imagecreatefromjpeg($pics);
       }
       if(
    preg_match("/.jpeg/i""$pics")){
       
    $source imagecreatefromjpeg($pics);
       }
       if(
    preg_match("/.jpeg/i""$pics")){
       
    $source Imagecreatefromjpeg($pics);
       }
       if(
    preg_match("/.png/i""$pics")){
       
    $source imagecreatefrompng($pics);
       }
       if(
    preg_match("/.gif/i""$pics")){
       
    $source imagecreatefromgif($pics);
       }
       
    $thumb imagecreatetruecolor($newwidth$newheight);
       
    imagecopyresized($thumb$source0000$newwidth$newheight$width$height);
       return 
    imagejpeg($thumb);
       if(
    preg_match("/.jpg/i""$pics")){
       return 
    imagejpeg($thumb);
       }
       if(
    preg_match("/.jpeg/i""$pics")){
       return 
    imagejpeg($thumb);
       }
       if(
    preg_match("/.jpeg/i""$pics")){
       return 
    imagejpeg($thumb);
       }
       if(
    preg_match("/.png/i""$pics")){
       return 
    imagepng($thumb);
       }
       if(
    preg_match("/.gif/i""$pics")){
       return 
    imagegif($thumb);
       }
     }
    ?>
     
  3. miladmovie

    miladmovie مدیر بازنشسته کاربر فعال

    تاریخ عضویت:
    ‏25 دسامبر 2002
    نوشته ها:
    1,936
    تشکر شده:
    2
  4. Parsa_361

    Parsa_361 کاربر فعال صفحات داینامیک کاربر فعال

    تاریخ عضویت:
    ‏5 آگوست 2005
    نوشته ها:
    889
    تشکر شده:
    10
    محل سکونت:
    Isfahan, php.ini
    دستت درد نکنه.
    تونستم عکسم رو کوچیک کنم.
    فقط تو 5 خط.

    merc
     
  5. miladmovie

    miladmovie مدیر بازنشسته کاربر فعال

    تاریخ عضویت:
    ‏25 دسامبر 2002
    نوشته ها:
    1,936
    تشکر شده:
    2
    حواست باشه توی این php کدی که برای فایل jpg می نویسی با اونی که برای gif باید نوشت فرق می کنه و همینظور png !
     
  6. miladmovie

    miladmovie مدیر بازنشسته کاربر فعال

    تاریخ عضویت:
    ‏25 دسامبر 2002
    نوشته ها:
    1,936
    تشکر شده:
    2
    راستی تو چی کارش کردی ؟
    من زیاد تو مد این کارها نوبدم
    تو که گفتی رفتم تو فکر
    یک روش نوشتم خودم هم کف کردم !فقط فکر کنم یک روش ساده تر هم داشته باشه !

    PHP:
    <?
    $filename 'images/bobo.jpg';

    $percent 0.5;

    // Content type
    header('Content-type: image/jpeg');

    // Get new dimensions
    list($width$height) = getimagesize($filename);
    $new_width $width $percent;
    $new_height $height $percent;

    // Resample
    $image_p imagecreatetruecolor($new_width$new_height);
    $image imagecreatefromjpeg($filename);
    imagecopyresampled($image_p$image0000$new_width$new_height$width$height);


    // Output

    ob_start();
    imagejpeg($image_pnull100);
    $image_s=ob_get_contents();
    ob_clean();

     
    $fp=fopen("small-bobo.jpg","wb");
    fwrite($fp,$image_s);
     
     
    ?>
     
  7. appbannerkhuniresbanner
  8. Parsa_361

    Parsa_361 کاربر فعال صفحات داینامیک کاربر فعال

    تاریخ عضویت:
    ‏5 آگوست 2005
    نوشته ها:
    889
    تشکر شده:
    10
    محل سکونت:
    Isfahan, php.ini
    خودم می دونم من فقط با jpeg کار دارم.
     
  9. Parsa_361

    Parsa_361 کاربر فعال صفحات داینامیک کاربر فعال

    تاریخ عضویت:
    ‏5 آگوست 2005
    نوشته ها:
    889
    تشکر شده:
    10
    محل سکونت:
    Isfahan, php.ini
    بابا تو کاملاً لقمه رو دور سرت چر خوندی
    نصف کد هات زیادیه!

    من یه مدتیه رفتم تو نخ gd

    به زودی هم یه تابع می دم بیرون که بترکونه!!
    لنگش تو دنیا پیدا نمی شه.

    :D
     
  10. miladmovie

    miladmovie مدیر بازنشسته کاربر فعال

    تاریخ عضویت:
    ‏25 دسامبر 2002
    نوشته ها:
    1,936
    تشکر شده:
    2
    نصفش که نه ! :rolleyes:
    اون ها بالای اگر اصولی باشه باید اون طوری باشه
    فقط می مونه :

    PHP:
    // Output

    ob_start();
    imagejpeg($image_pnull100);
    $image_s=ob_get_contents();
    ob_clean();


    $fp=fopen("small-bobo.jpg","wb");
    fwrite($fp,$image_s); 
    :) ;)
     
  11. miladmovie

    miladmovie مدیر بازنشسته کاربر فعال

    تاریخ عضویت:
    ‏25 دسامبر 2002
    نوشته ها:
    1,936
    تشکر شده:
    2
  12. Parsipark.Com

    Parsipark.Com کاربر تازه وارد

    تاریخ عضویت:
    ‏25 دسامبر 2008
    نوشته ها:
    13
    تشکر شده:
    0
    آقايون دست گل همتون درد نكنه !
    اين كد جادو كرد ! ( از همين لينكايي كه لطف كرديد برداشتم )

    PHP:
    <?php
    // The file
    $filename 'test.jpg';
    $percent 0.5;

    // Content type
    header('Content-type: image/jpeg');

    // Get new dimensions
    list($width$height) = getimagesize($filename);
    $new_width $width $percent;
    $new_height $height $percent;

    // Resample
    $image_p imagecreatetruecolor($new_width$new_height);
    $image imagecreatefromjpeg($filename);
    imagecopyresampled($image_p$image0000$new_width$new_height$width$height);

    // Output
    imagejpeg($image_pnull100);
    ?> 
     
  13. positron x2

    positron x2 کاربر تازه وارد

    تاریخ عضویت:
    ‏25 جولای 2007
    نوشته ها:
    43
    تشکر شده:
    0
    می تونید یه کدی بزارید که فقط عکس ها رو resize کنه یعنی به نسبت طول و عرض کوچیک کنه . نه اینکه اندازه طول و عرض رو خودمون بدیم!
     
  14. avajang.com .leftavajang.com.right
  15. Parsipark.Com

    Parsipark.Com کاربر تازه وارد

    تاریخ عضویت:
    ‏25 دسامبر 2008
    نوشته ها:
    13
    تشکر شده:
    0
    مي تونيد سايز عكس رو بگيريد و تقسيم كنيد و بزاريد داخل متغير !