Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Проблема с imagecolorallocate

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: Тупо чёрное изображение
Bioslave
Отправлено: 05 Июля, 2011 - 08:02:06
Post Id


Новичок


Покинул форум
Сообщений всего: 57
Дата рег-ции: Февр. 2010  


Помог: 0 раз(а)




Доброе время суток, сделал автоматическое уменьшение размеров загружённых фоток для галереи, но после уменьшения размера на выходе уменьшенное изображение чёрного цвет и всё тупа чёрный, прошу помочь.

PHP:
скопировать код в буфер обмена
  1. <?
  2. require_once("conf.php");
  3. if (isset($_POST['t']))
  4. {
  5.         $targ_w = $targ_h = 190;
  6.         $jpeg_quality = 90;
  7.  
  8.         $src = "../upload/{$_POST['t']}b.jpg";
  9.         $img_r = imagecreatefromjpeg($src);
  10.         $dst_r = ImageCreateTrueColor( $targ_w, $targ_h );
  11.  
  12.         imagecopyresampled($dst_r,$img_r,0,0,$_POST['x'],$_POST['y'],$targ_w,$targ_h,$_POST['w'],$_POST['h']);
  13.  
  14.         imagejpeg($dst_r,"../upload/{$_POST['t']}s.jpg",$jpeg_quality);
  15.         echo '<script>window.location=("photos.php?ok=ok");</script>';
  16.         //echo "<img src='../upload/{$_POST['t']}s.jpg'>";
  17.         exit;
  18. }
  19. function resizeimg($filename, $smallimage, $w, $h)
  20.   {
  21.     $filename = $filename;
  22.     $smallimage = $smallimage;
  23.     $ratio = $w/$h;
  24.     $size_img = getimagesize($filename);
  25.     if (($size_img[0]<$w) && ($size_img[1]<$h)) return true;
  26.     $src_ratio=$size_img[0]/$size_img[1];
  27.  
  28.     if ($ratio<$src_ratio)
  29.     {
  30.       $h = $w/$src_ratio;
  31.     }
  32.     else
  33.     {
  34.       $w = $h*$src_ratio;
  35.     }
  36.  
  37.     $dest_img = imagecreatetruecolor($w, $h);
  38.     $white = imagecolorallocate($dest_img, 255, 255, 255);
  39.     $src_img = imagecreatefromjpeg($filename);
  40.  
  41.     imagecopyresampled($dest_img, $src_img, 0, 0, 0, 0, $w, $h, $size_img[0], $size_img[1]);
  42.  
  43.     imagejpeg($dest_img, $smallimage);
  44.  
  45.     imagedestroy($dest_img);
  46.     imagedestroy($src_img);
  47.     return true;
  48.   }
  49.   $t=time();
  50.   //$size_img[0], $size_img[1]
  51.   $isize=getimagesize($_FILES["photo"]["tmp_name"]);
  52.   $imgw=$isize[0];
  53.   $imgh=$isize[1];
  54.   if (($imgw>1000) || ($imgh > 800)){ resizeimg($_FILES["photo"]["tmp_name"], "../upload/{$t}b.jpg", 1000, 800); } else { move_uploaded_file($_FILES["photo"]["tmp_name"],"../upload/{$t}b.jpg"); }
  55.   mysql_query("insert into `photos` (comment,big,small,ord) values ('".$_POST['comment']."','{$t}b.jpg','{$t}b.jpg','3')");
  56.   $isize=getimagesize("../upload/{$t}b.jpg");
  57.   $imgw=$isize[0];
  58.   $imgh=$isize[1];
  59. ?>
  60. <html>
  61.         <head>
  62.  
  63.                 <script src="../jquery14.js"></script>
  64.                 <script src="../js/jquery.Jcrop.js"></script>
  65.                 <link rel="stylesheet" href="../css/jquery.Jcrop.css" type="text/css" />
  66.  
  67.                 <script language="Javascript">
  68.  
  69.                         jQuery(window).load(function(){
  70.  
  71.                                 jQuery('#cropbox').Jcrop({
  72.                                         onChange: showPreview,
  73.                                         onSelect: showPreview,
  74.                                         aspectRatio: 1
  75.                                 });
  76.  
  77.                         });
  78.  
  79.                         // Our simple event handler, called from onChange and onSelect
  80.                         // event handlers, as per the Jcrop invocation above
  81.                         function showPreview(coords)
  82.                         {
  83.                                 if (parseInt(coords.w) > 0)
  84.                                 {
  85.                                         updateCoords(coords);
  86.                                         var rx = 190 / coords.w;
  87.                                         var ry = 190 / coords.h;
  88.  
  89.                                         jQuery('#preview').css({
  90.                                                 width: Math.round(rx * <?=$imgw;?>) + 'px',
  91.                                                 height: Math.round(ry * <?=$imgh;?>) + 'px',
  92.                                                 marginLeft: '-' + Math.round(rx * coords.x) + 'px',
  93.                                                 marginTop: '-' + Math.round(ry * coords.y) + 'px'
  94.                                         });
  95.                                 }
  96.                         }
  97.                         function updateCoords(c)
  98.                         {
  99.                                 $('#x').val(c.x);
  100.                                 $('#y').val(c.y);
  101.                                 $('#w').val(c.w);
  102.                                 $('#h').val(c.h);
  103.                         };
  104.  
  105.                         function checkCoords()
  106.                         {
  107.                                 if (parseInt($('#w').val())) return true;
  108.                                 alert('Please select a crop region then press submit.');
  109.                                 return false;
  110.                         };
  111.  
  112.                 </script>
  113.  
  114.         </head>
  115.  
  116.         <body>
  117. <table><tr><td>
  118.                 <img src="../upload/<?=$t;?>b.jpg" id="cropbox" />
  119. </td><td valign="middle">
  120. <div style="width:190px;height:190px;overflow:hidden;">
  121.                         <img src="../upload/<?=$t;?>b.jpg" id="preview" />
  122.                 </div>
  123.         </td></tr></table>             
  124.                 <form action="photo_add.php" method="post" onSubmit="return checkCoords();">
  125.                         <input type="hidden" id="x" name="x" />
  126.                         <input type="hidden" id="y" name="y" />
  127.                         <input type="hidden" id="w" name="w" />
  128.                         <input type="hidden" id="h" name="h" />
  129.             <input type="hidden" id="t" name="t" value="<?=$t;?>" />
  130.                         <input type="submit" value="Crop Image" />
  131.                 </form>
  132.  
  133.         </body>
  134.  
  135. </html>


-----
Ася:-ПятьШесть4035773
 
 Top
Bioslave
Отправлено: 05 Июля, 2011 - 14:00:39
Post Id


Новичок


Покинул форум
Сообщений всего: 57
Дата рег-ции: Февр. 2010  


Помог: 0 раз(а)




Не кто не поможет ?


-----
Ася:-ПятьШесть4035773
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Графика в PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB