ФорумПрограммированиеPHP для идиотов → Позиционирование по вертикали

Позиционирование по вертикали

  • Professor

    Сообщения: 2089 Репутация: N Группа: Адекваты

    Spritz 11 июня 2009 г. 2:17, спустя 1 час 4 минуты 14 секунд

    Может кто не спит, и подскажет, какой функцией вспроизвести аналогичное действие?
    $image = new Imagick($uploadfile);



    Картинки просто в цикле меняются, а так
    foreac(…)
    {
    					$image = new Imagick($uploadfile);
    
    					$image->thumbnailImage($size[0]*$ratio, $size[1]*$ratio);
    					$image->writeImage($uploadfile);
    					$image->thumbnailImage($size[0]*$ratio2, $size[1]*$ratio2);
    					$image->writeImage($uploadfile_g);
    
    		      	}

    Рабтать не хочет. Делает только 1 картинку
  • mario

    Сообщения: 6067 Репутация: N Группа: Джедаи

    Spritz 11 июня 2009 г. 2:24, спустя 6 минут 34 секунды


    Может кто не спит, и подскажет, какой функцией вспроизвести аналогичное действие?
    $image = new Imagick($uploadfile);



    Картинки просто в цикле меняются, а так
    foreac(…)
    {
    					$image = new Imagick($uploadfile);
    
    					$image->thumbnailImage($size[0]*$ratio, $size[1]*$ratio);
    					$image->writeImage($uploadfile);
    					$image->thumbnailImage($size[0]*$ratio2, $size[1]*$ratio2);
    					$image->writeImage($uploadfile_g);
    
    		      	}

    Рабтать не хочет. Делает только 1 картинку
    ну ты вроде бы не создал объект $image = new Imagick($uploadfile_g);
    попробуй, хотя хз… щас не могу найти скрипт где делал подобное, на ноуте сижу, комп не работает.
    PS споки :)
  • Professor

    Сообщения: 2089 Репутация: N Группа: Адекваты

    Spritz 11 июня 2009 г. 2:29, спустя 5 минут 34 секунды

    На локалке раболает, на хосте тока по 1 =(
  • adw0rd

    Сообщения: 22959 Репутация: N Группа: в ухо

    Spritz 11 июня 2009 г. 2:31, спустя 1 минуту 10 секунд

    Professor, что такое $uploadfile_g? Весь код, которые зависим покажи
    https://smappi.org/ - платформа по созданию API на все случаи жизни
  • Professor

    Сообщения: 2089 Репутация: N Группа: Адекваты

    Spritz 11 июня 2009 г. 2:35, спустя 4 минуты 23 секунды

    Это превью =)

    собственно весь код
    
           for($i=0;$i<$count_file;$i++)
           {
    	       	$uploaddir = "galery/f{$id_galery}/i_";
    	        $uploaddir_g = "galery/f{$id_galery}/p_";
    	        $uploaddir_or = "galery/f{$id_galery}/t";
                $name_img=basename($_FILES['myfile']['name'][$i]);
    
               if(isset($_FILES['myfile']['tmp_name'][$i])&&$_FILES['myfile']['tmp_name'][$i]!="")
               {
                    mysql_query("INSERT INTO images SET title='{$name_img}',id_galery={$id_galery}");
                    $id_img=mysql_insert_id();
    
                    $uploadfile = "{$uploaddir}{$id_img}";
    				$uploadfile_g = "{$uploaddir_g}{$id_img}";
    
    
    				if (move_uploaded_file($_FILES['myfile']['tmp_name'][$i], $uploadfile))
    				{
    
    	                 $width=800;
    					 $height=600;
    
    	                $size=getimagesize($uploadfile);
    
    	                  if( $width<$size[0] || $height<$size[1] )
    						  {
    						    $ratio=min($height/$size[1],$width/$size[0]);
    						  }
    						  else
    						  {
    						    $ratio=1;
    						  }
    
    
    					if( 100<$size[0] || 100<$size[1] )
    						  {
    						    $ratio2=min(100/$size[1],100/$size[0]);
    						  }
    						  else
    						  {
    						    $ratio2=1;
    						  }
    
    
    					$image = new Imagick($uploadfile);
    
    					$image->thumbnailImage($size[0]*$ratio, $size[1]*$ratio);
    					$image->writeImage($uploadfile);
    					$image->thumbnailImage($size[0]*$ratio2, $size[1]*$ratio2);
    					$image->writeImage($uploadfile_g);
    
    		      	}
    	      	}
    
           }
        }
    


    Проблемма в том что только 1 картинка загружается =(
  • Professor

    Сообщения: 2089 Репутация: N Группа: Адекваты

    Spritz 11 июня 2009 г. 2:35, спустя 22 секунды

    Может даже не с Imagick связанно =)
  • adw0rd

    Сообщения: 22959 Репутация: N Группа: в ухо

    Spritz 11 июня 2009 г. 3:03, спустя 27 минут 30 секунд

    делай $image->clear() после работы с картинкой (в конце цикла)
    https://smappi.org/ - платформа по созданию API на все случаи жизни
  • Timur

    Сообщения: 1068 Репутация: N Группа: Джедаи

    Spritz 11 июня 2009 г. 3:12, спустя 9 минут 11 секунд


    adw0rd, ну-ну :)
    ps. насчет доктайпов не уверен
    но вертикал-алигн — неадекватная хуета


    Да вроде для инлайновых элементов работает во всех браузерах. В простых формах контролы удобно им выравнивать.

    <!DOCTYPE html>
    <html>
    <head>
    <style type="text/css">
    p {
        border:1px solid;
    }
    img {
        width:100px;
        height:100px;
    }
    .top {
        vertical-align:top;
    }
    .middle {
        vertical-align:middle;
    }
    .bottom {
        vertical-align:bottom;
    }
    
    </style>
    </head>
    <body>
     <p>
      <img alt="kartinko" class="top" />
      <span class="top">вверху</span>
     </p>
     
     <p>
      <img alt="kartinko" class="middle" />
      <span class="middle">по центру</span>
     </p>
     
     <p>
      <img alt="kartinko" class="bottom" />
      <span class="bottom">внизу</span>
     </p>
     
    </body>
    </html>
  • adw0rd

    Сообщения: 22959 Репутация: N Группа: в ухо

    Spritz 11 июня 2009 г. 3:34, спустя 22 минуты 26 секунд

    Timur, о, типа я прав?)
    https://smappi.org/ - платформа по созданию API на все случаи жизни
  • Timur

    Сообщения: 1068 Репутация: N Группа: Джедаи

    Spritz 11 июня 2009 г. 3:48, спустя 13 минут 10 секунд

    я вообще не совсем понял о чем у вас спор :)

    Из картинки Professor'а следует, что нужно что-то типа этого:
    <!DOCTYPE html>
    <html>
    <head>
    <style type="text/css">
    img {
        vertical-align:middle;
        border:1px solid;
    }
    </style>
    </head>
    <body>
     <p>
      <img style="width:12px; height:34px;" />
      <img style="width:78px; height:56px;" />
      <img style="width:90px; height:32px;" />
      <img style="width:54px; height:65px;" />
      <img style="width:15px; height:31px;" />
      <img style="width:62px; height:89px;" />
     <p>
    </body>
    </html>


    Просто не всегда удается оставить элемент инлайновым. Если, например, нужно было бы сделать к картинкам подписи, то их бы пришлось заворачивать в блоки, а тогда vertical-align уже не сработает. Ещё тут путаница, из-за того свойство назначается самому элементу, а не его родителю, как это было бы в табличной верстке (valign у ячейки).
  • AlexB

    Сообщения: 4306 Репутация: N Группа: в ухо

    Spritz 11 июня 2009 г. 9:03, спустя 5 часов 15 минут 6 секунд

    Вообще, вертикальное центрирование контента произвольной высоты и произвольной структуры, ИМХО, не имеет адекватного решения без таблиц. Все из-за того, что IE6 не поддерживает display: table-cell
  • NRG

    Сообщения: 4761 Репутация: N Группа: в ухо

    Spritz 11 июня 2009 г. 9:33, спустя 30 минут 35 секунд


    md5, я только предположил :)
    я не особо дружу с версткой, все делаю методом тыка :)
    йес, я не один такой)))
  • iMd5

    Сообщения: 39 Репутация: N Группа: Кто попало

    Spritz 11 июня 2009 г. 11:39, спустя 2 часа 5 минут 44 секунды

    Во. АлексБ вкурсе.
  • Professor

    Сообщения: 2089 Репутация: N Группа: Адекваты

    Spritz 12 июня 2009 г. 12:10, спустя 1 день 30 минут

    <ul class="galery">
    
    <li>
    <p class="p1">
    <a href="/galery/f60/i_53"  class="lightbox-enabled" rel="lightbox[kitchen]" ><img src="/galery/f60/p_53"  border="0" title="000aarf4.jpg"></a>
    </p>
    <p class="p_s">
    скачать
    </p>
    </li>
    <li>
    <p class="p1">
    <a href="/galery/f60/i_52"  class="lightbox-enabled" rel="lightbox[kitchen]" ><img src="/galery/f60/p_52"  border="0" title="04f4017025.jpg"></a>
    </p>
    <p class="p_s">
    скачать
    </p>
    </li>
    <li>
    
    <p class="p1">
    <a href="/galery/f60/i_51"  class="lightbox-enabled" rel="lightbox[kitchen]" ><img src="/galery/f60/p_51"  border="0" title="11f4017035.jpg"></a>
    </p>
    <p class="p_s">
    скачать
    </p>
    </li>
    </ul>


    ul.galery
    {
    	margin:0px;
    	padding:0px;
    }
    
    ul.galery  li
    {
    	float:left;
    	margin:10px;
    	vertical-align:middle;
    	text-align:center;
    	padding:0px;
    	height:120px;
    	width:100px;
    
    
    }
    ul.galery  li p
    {
    	margin:0px;
    	padding:0px;
    }
    .p1
    {
    	height:100px;
    	width:100px;
    	vertical-align:middle;
    	display: table-cell;
    }
    .p1 a
    {
    	vertical-align:middle;
    }
    
    .p_s
    {
    	height:20px;
    	width:100px;
    }
    
    .p1 a img
    {
    
    	vertical-align:middle;
    }


    В общем получилось как и сказал AlexB. Работает везде кроме IE =(
  • Frukts

    Сообщения: 28 Репутация: N Группа: Кто попало

    Spritz 18 августа 2012 г. 22:44, спустя 1163 дня 10 часов 34 минуты

    Роботы пытаются просверлить мой череп, но моя энергетическая защита уничтожает их на месте, превращая в груды расплавленного металла.

Пожалуйста, авторизуйтесь, чтобы написать комментарий!