Обработка изображений

Royal Flash

-=MaestrO=-
Для baev

Согласен, и постараюсь через некоторе время опубликовать ответ, на свой вопрос.
 

AmdY

Пью пиво
Команда форума
Royal Flash не поверишь, но я не аллегориями объяснялся, по моей инструкции РЕАЛЬНО можно уложиться в пол часа, у меня последний раз не больше десятка минут заняло.Just do it © Nike
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Ай, таким ребятам как он, проще дать гранатомет и не объяснять как с него пулять) Может конечно и освоит то, что я дал, как знать)
 

craz

Нестандартное звание
Для c0dex:
Спасибо, это именно то, что мне и было нужно.


ОФТОПП -------------------------------------------------------------------------------- (кому интересна сама тема ветки, можно не читать)


Для AmdY:
Побегите, попиляйте... вот только после этого, на Porshe вы ездить не будете, разве что заберут куд-нибуть, для излечения :). Для непонятливых, т.е. для вас: пример с Поршем - это аллегория. (Аллегория (от греч. allegoria - иносказание) - одна из форм иносказания, условная передача отвлеченного понятия или суждения посредством конкретного образа). Это значит, конкретно к этому посту, что нельзя сделать за "пол часа" то, что я описал выше. Да и про "инструменты" говорил совсем не Mr_Max, обратите на это внимание.

Для Mr_Max
А вы тут самый главный? :) Т.е. судя по фразе: "У нас самообслуживанние", у новых посетителей этого форума может сложиться мнение, что это лично ваш форум, на котором только вы принимаете решение, что и как тут у вас, конкретно :) :) :)
Форум для того и существует, чтобы ЗАДАВАТЬ ВОПРОСЫ И ПОЛУЧАТЬ НА НИХ ОТВЕТЫ. Если ответа нет, или нет желания делиться знаниями, на мой взгляд, лучше вообще ничего не писать. Если бы я участвовал в модерации этого форума, то из всех "ответов" осталось бы только 3 (удалил бы и свою "демогогию", не относящуюся к теме). Благодаря таким активным пользователям форума как вы, найти что-то полезное тут, становится все сложнее. Исходя из вашей логики, что "здесь не подают", так можно ответить на любую тему в этом форуме, и сидеть перед монитором, и думать: "прикООльно СкаЗаЛЛ" :). Да и к вашему сведению: за пол-час эта задача не решается, разве что по методу: "только бы работало, а дальше не ...". Время, которое я трачу на то, чтобы вам ответить, у меня занимает многим меньше времени, чем вы думаете :) Возможно, это у вас сложности с изложением своих мыслей, и написание нескольких предложений занимает у вас "пол-дня"?
забаньте его?)
 

Royal Flash

-=MaestrO=-
Выкладываю самую лучшую, на мой взгляд, функцию по изменению размеров изображения (phpfaq.ru). Конечно - это только база, которая не включает в себя проверку загрузки, MySQL и др. обвязки. Просто и работатет :) Функция из jCrop тут и рядом не валялась :)

PHP:
<?php
/***********************************************************************************
Функция img_resize(): генерация thumbnails
Параметры:
  $src             - имя исходного файла
  $dest            - имя генерируемого файла (тип файла будет JPEG)
  $width, $height  - максимальные ширина и высота генерируемого изображения, в пикселях (по ссылке!)
Необязательные параметры:
  $quality         - качество генерируемого JPEG, по умолчанию - максимальное (100)
***********************************************************************************/
function img_resize($src, $dest, &$width, &$height, $quality=100) {
  if(!file_exists($src)) return 1; // исходный файля не найден
  $size=getimagesize($src);
  if($size===false) return 2; // не удалось получить параметры файла

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

  // Определяем необходимость преобразования размера
  if( $width<$size[0] || $height<$size[1] )
    $ratio = min($width/$size[0],$height/$size[1]);
  else
    $ratio=1;

  $width=floor($size[0]*$ratio);
  $height=floor($size[1]*$ratio);
  $isrc=$icfunc($src);
  $idest=imagecreatetruecolor($width,$height);

  imagecopyresampled($idest,$isrc,0,0,0,0,$width,$height,$size[0],$size[1]);
  imagejpeg($idest,$dest,$quality);
  chmod($dest,0666);
  imagedestroy($isrc);
  imagedestroy($idest);
  return 0; // успешно
}
?>
 
Сверху