Вопрос по thumbs (превьюшки)

Статус
В этой теме нельзя размещать новые ответы.

Jonik

Новичок
Вопрос по thumbs (превьюшки)

Ознакомился со статьей http://www.php5.ru/articles/image#size
все работает, но вот возник вопрос:
- как избавиться от фона в создаваемой превьюшки, т.е. если у меня скажем изображение 200x150 а создаваемая превьюшка 100x100 то к ней прекрепляется фон (белый по умолчанию) .

Возможно ли избавиться от него?
 

Фанат

oncle terrible
Команда форума
ЧТО сделать?
Ты сначала сам определить, что должно быть на месте этих полей.
 

Jonik

Новичок
Фанат
Я хочу чтобы их вообще не было.

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

А так можно использовать данную функцию и не создавать доп картинку

PHP:
{
 $width=85;
  $height=115;
   $rgb=0xffffff;
    $quality=100;
    

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

  $size = getimagesize($image);

  if ($size === false) return false;

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

  $x_ratio = $width / $size[0];
  $y_ratio = $height / $size[1];

  $ratio       = min($x_ratio, $y_ratio);
  $use_x_ratio = ($x_ratio == $ratio);

  $new_width   = $use_x_ratio  ? $width  : floor($size[0] * $ratio);
  $new_height  = !$use_x_ratio ? $height : floor($size[1] * $ratio);
  $new_left    = $use_x_ratio  ? 0 : floor(($width - $new_width) / 2);
  $new_top     = !$use_x_ratio ? 0 : floor(($height - $new_height) / 2);

  $isrc = $icfunc($image);
  $idest = imagecreatetruecolor($width, $height);

 imagefill ($idest,0,0,$rgb);
  imagecopyresampled($idest, $isrc, $new_left, $new_top, 0, 0,
    $new_width, $new_height, $size[0], $size[1]);
header("Content-type: image/jpeg");
  imagejpeg($idest, $dest, $quality);

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

}
 

Jonik

Новичок
MadGreen
:(
Согласен, просто не знаю пока как избавиться от полей при создание thumbs.

-~{}~ 18.03.07 18:14:

donflash
Спасибо, попробуем.
 

Фанат

oncle terrible
Команда форума
Jonik
ты делаешь из картинки с соотношением сторон 4:3 картинку с соотношением 1:1, дурилка картонная!
Это значит, что либо поля у тебя будут всегда, либо картинку придется растягивать, уродуя.
Ты хоть это можешь сообразить?!

Хочешь делать без полей - значит, картинку надо делать не 100х100, а 100х75!

-~{}~ 18.03.07 18:15:

donflash, ага, в джипеге.
ума палата!

-~{}~ 18.03.07 18:17:

Jonik
функция, которую ты здесь нарисовал, никаких полей не делает.
Ты можешь как-то объяснить этот феномен?
 

donflash

Вареник клуба
Фанат, блин а формат gif перестал существовать что ли? А Png 24?
 

Jonik

Новичок
Фанат
А как тогда можно сделать чтобы формировать ее просто по максимально заданной ширене скажем?
 

Фанат

oncle terrible
Команда форума
donflash
вот и делай превьюшки в гифах у себя на сайте, умник.
а здесь лучше помолчать.
а про прогрессивный формат Png 24 и его прозрачность рассказывай не мне, а Стиву Балмеру.
 

MadGreen

meninweb
Jonik тебя наталкивают на мысль что можно высчитывать пропорциональный размер превьюх так, чтобы размер холста не превышал размеров содержимого

но это палка о двух концах: либо придется для галереи готовить исходные картинки одного размера, либо потом мириться с разношерстным содержимым страниц
 

Jonik

Новичок
Фанат
Если Ширина иден плохое соотношение маштабирования то он добавляет цвет фона
$rgb=0xffffff;
 

donflash

Вареник клуба
Чем тебе прозрачность png не нравится? Многие вещи он держит гораздо круче .jpg...
 

Фанат

oncle terrible
Команда форума
Jonik
написать код.
который вычисляет размеры уменьшенной картинки
 

Jonik

Новичок
MadGreen
Так вот в том то и дело, если делать картинки одно размера или хотябы маштабы соблядать то все ок, а по другому страшно на шаблоне смотриться. Как выйти не могу понять из этой ситуации...
 

Фанат

oncle terrible
Команда форума
MadGreen
ты бредишь. какое ещё " разношерстным содержимым страниц"?
при чем тут "исходные картинки одного размера"?!
 

MadGreen

meninweb
готовь картинки одного размера в фотошопе с подложкой наиболее подходящей под дизайн сайта, других вариантов не найдешь
ну кроме конечно своей собственной библиотеки gd3 byJonik =)
 

donflash

Вареник клуба
Короче, народ. Что-то вы тупите по-жёсткому. Человек говорит, что при обрезка фоток у него образуется незаполненное место, которое заливается фоном. Он хочет этот фон убрать, чтобы не портить дизайн сайта. Что вы советуете какой-то бред?
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху