2012-01-19 3 views
2

я получаю следующее сообщение об ошибке при попытке создать миниатюру изображения:imagecopyresized() недопустимые размеры изображения?

Warning: imagecopyresized() [function.imagecopyresized]: Invalid image dimensions in H:\Programs\webserver\root\media\images\inc\func.php on line 160 

Это функция, которую я создал, чтобы сделать работу:

function create_thumbnail($image_type, $image_height, $image_height, $temp_dir, $thumb_path, $thumb_width, $thumb_height){ 
    switch($image_type){ 
     case 'image/jpeg'; 
      $img =  imagecreatefromjpeg($temp_dir); 
      $thumb = imagecreatetruecolor($thumb_width, $thumb_height); 
         imagecopyresized($thumb, $img, 0, 0, 0, 0, $thumb_width, $thumb_height, $image_width, $image_height); 
         imagejpeg($thumb, $thumb_path, 100); 


     break; 
     case 'image/png'; 
      $img =  imagecreatefrompng($temp_dir); 
      $thumb = imagecreatetruecolor($thumb_width, $thumb_height); 
         imagecopyresized($thumb, $img, 0, 0, 0, 0, $thumb_width, $thumb_height, $image_width, $image_height); 
         imagepng($thumb, $thumb_path, 100); 

     break; 
     case 'image/gif'; 
      $img =  imagecreatefromgif($temp_dir); 
      $thumb = imagecreatetruecolor($thumb_width, $thumb_height); 
         imagecopyresized($thumb, $img, 0, 0, 0, 0, $thumb_width, $thumb_height, $image_width, $image_height); 
         imagegif($thumb, $thumb_path, 100); 

     break; 
    } 

} 

который используется следующим образом:

// Create the new thumbnail dimensions 
         list($thumb_width, $thumb_height) = thumb_dimensions($case, $image_width, $image_height); 

         // Create the thumbnails 
         create_thumbnail($image_type, $image_height, $image_height, $temp_dir, $thumb_path, $thumb_width, $thumb_height); 

Размеры большого пальца: 100px, высота: 99px;

+1

Вы знаете, что 'imagecopyresized' ожидает' int' параметров для измерений, а не в стиле CSS 100px строк, правильно? – nickb

+0

Да, я просто добавил их для справки. – crm

ответ

3

опечатка в определении функции:

function create_thumbnail($image_type, $image_height, $image_height, ... 
              ^^------dupe----^^ 

что означает $image_width не определен и, вероятно, оценить 0.

То же самое для вызова образца create_thumbnail() в конце - два image_heights, нет image_width.

+0

Вздох, должно быть знаком, чтобы назвать его ночью. Спасибо. – crm

+0

Я слышал, что я ... * зевок * –

Смежные вопросы