Слишком большие картинки

Обсуждение сервиса товарной рекламы Микс-Товары
Ответить
urikor
Сообщения: 30
Зарегистрирован: 04 окт 2006, 17:36
Откуда: Donbass
Контактная информация:

Сообщение urikor » 10 ноя 2007, 10:05

Такой вопрос почти в тему.
Можно каким-то образом ограничивать размер картинки рекламодателя.
Вот я вчера только начал крутить "Микс-Товары", а некоторые постоянные посетители сайта уже недовольны тем, что, например у "Лингво" вываливается картинка где-то 300х300, ессно очень неудобно.
Как по мне - вполне достаточно 100х100 (как у большинства реклов).
Отключать только из-за большой картинки не хочется - реклов и так не очень много.
Показывать объявы без картинок - эффективность кликабельности на порядок ниже.
Может можно что-то придумать? :)

Аватара пользователя
ivanov
Эксперт
Эксперт
Сообщения: 2192
Зарегистрирован: 20 фев 2006, 19:02
Откуда: Санкт-Петербург
Контактная информация:

Сообщение ivanov » 10 ноя 2007, 16:33

urikor, CSS рулит: есть решение через overflow:hidden или жесткие размеры картинки (можно задать только один размер, тогда изменения размера будут пропорциональные в большинстве браузеров).

например, http://mixmarket.biz/conpreview/8028/

шаблон:

Код: Выделить всё

<style>
	td.qqqq img {height:100px}
</style>
<table cellpadding="5">
	<tr>
		<td class="qqqq" align="center">
			<%PICT%>
		</td>
		<td valign="top">
			<%NAME%> — <%PRICE%>
			<br>
			<br>
			<%DESC%>
			<br>
			<%MERCH%>
		</td>
	</tr>
</table>
А вообще, конечно, надо будет почистить эту бяку. 8/
Последний раз редактировалось ivanov 10 ноя 2007, 16:50, всего редактировалось 1 раз.
Денис Иванов, экс-Миксмаркет
upyrj@ya.ru

Аватара пользователя
ivanov
Эксперт
Эксперт
Сообщения: 2192
Зарегистрирован: 20 фев 2006, 19:02
Откуда: Санкт-Петербург
Контактная информация:

Сообщение ivanov » 10 ноя 2007, 16:46

Решение с overflow:
Пример: http://mixmarket.biz/conpreview/8328/

Код: Выделить всё

<style> 
   div.qqqq {height:100px; width:100px; overflow:hidden} 
</style> 
<table cellpadding="5"> 
   <tr> 
      <td align="center"> 
         <div class="qqqq">
            <%PICT%> 
         </div>
      </td> 
      <td valign="top"> 
         <%NAME%> — <%PRICE%> 
         <br> 
         <br> 
         <%DESC%> 
         <br> 
         <%MERCH%> 
      </td> 
   </tr> 
</table>
Денис Иванов, экс-Миксмаркет
upyrj@ya.ru

Dmitri
Сообщения: 80
Зарегистрирован: 21 июн 2007, 23:43

Сообщение Dmitri » 10 ноя 2007, 20:08

На самом деле это даже не проблема. Хуже когда картини или нет или она мелкая. Уж лучше пусть будет крупная. А как ее отресайзить пропорционально на PHP - вот пожалуйста функцийка полезная, на основе ее многое можно придумать..

Код: Выделить всё

function jpg_to_jpg($src, $dest, $width, $rgb=0xFFFFFF, $quality=100)
{

  if (!file_exists($src)) return false;

  $size = getimagesize($src);
//  debug_r($size);
  if ($size === false) return false;

  // Определяем исходный формат по MIME-информации, предоставленной
  // функцией getimagesize, и выбираем соответствующую формату
  // imagecreatefrom-функцию.
  $format = strtolower(substr($size['mime'], strpos($size['mime'], '/')+1));
//  debug($format);
  $icfunc = "imagecreatefrom" . $format;
  if (!function_exists($icfunc)) return false;

  if($width > $size[0]) $width = $size[0]; // Умный ограничитель по ширине

  $ratio = $width / $size[0];

  $new_width   = floor($size[0] * $ratio);
  $new_height  = floor($size[1] * $ratio);
  $new_left    = 0;
  $new_top     = 0;

  $isrc = $icfunc($src);
  $idest = imagecreatetruecolor($new_width, $new_height);

  imagefill($idest, 0, 0, $rgb);
  imagecopyresampled($idest, $isrc, $new_left, $new_top, 0, 0, $new_width, $new_height, $size[0], $size[1]);

  @unlink($dest);
  imagejpeg($idest, $dest, $quality);

  imagedestroy($isrc);
  imagedestroy($idest);

  return true;
}

urikor
Сообщения: 30
Зарегистрирован: 04 окт 2006, 17:36
Откуда: Donbass
Контактная информация:

Сообщение urikor » 10 ноя 2007, 22:02

Спасибочки :)

Аватара пользователя
ivanov
Эксперт
Эксперт
Сообщения: 2192
Зарегистрирован: 20 фев 2006, 19:02
Откуда: Санкт-Петербург
Контактная информация:

Сообщение ivanov » 11 ноя 2007, 00:58

Dmitri, там рекламодатель скормил нам большие анимированные гифы — а наш скрипт их не понял и «съел» без уменьшения.

Думаю, решим эту проблему на неделе. Как конкретно — пока не знаю. Временное решение — через CSS — я привел выше.
Денис Иванов, экс-Миксмаркет
upyrj@ya.ru

urikor
Сообщения: 30
Зарегистрирован: 04 окт 2006, 17:36
Откуда: Donbass
Контактная информация:

Сообщение urikor » 11 ноя 2007, 08:53

А зачем решать? :)
Нормально работает через CSS :D

Аватара пользователя
ivanov
Эксперт
Эксперт
Сообщения: 2192
Зарегистрирован: 20 фев 2006, 19:02
Откуда: Санкт-Петербург
Контактная информация:

Сообщение ivanov » 11 ноя 2007, 16:39

urikor, хотя бы для того, чтобы не напрягать ваших посетителей скачиванием картинок, 90% площади которых они все равно не видят.
Денис Иванов, экс-Миксмаркет
upyrj@ya.ru

urikor
Сообщения: 30
Зарегистрирован: 04 окт 2006, 17:36
Откуда: Donbass
Контактная информация:

Сообщение urikor » 11 ноя 2007, 22:14

:D
Могу внести свои 5 копеек :)
Для обеих сторон рекламной кампании, по моему мнению, удобно было бы, если бы была возможность в параметрах указывать, скажем три варианта размеров картинок: маленький, средний, большой.
Т.е. рекламодатель должен дать три варианта.
А каждая площадка уже выбирает то что ей надо под свой дизайн :)

Ответить