[Ищу] Изображения в новостях одного размера

Тема в разделе "Wordpress", создана пользователем Urch, 7 июл 2011.

Статус темы:
Закрыта.
Модераторы: DzSoft, Sorcus
  1. Urch

    Urch Вебмастер

    Регистр.:
    3 янв 2008
    Сообщения:
    263
    Симпатии:
    73
    Плагин или хак... ищу любое решение. Мне нужно чтобы картинка подгонялась под размеры, например 100х100. Стандартный функцианал невкумаривает так-как он тупо подгоняет изображение в ширину... а надо чтобы обрезалось...
     
  2. ReBeL

    ReBeL Злобный старикашка

    Регистр.:
    3 май 2006
    Сообщения:
    1.561
    Симпатии:
    849
    Курим матчасть на предмет thimthumb и его использования.
     
    Urch нравится это.
  3. Urch

    Urch Вебмастер

    Регистр.:
    3 янв 2008
    Сообщения:
    263
    Симпатии:
    73
  4. stonefield

    stonefield Создатель

    Регистр.:
    3 сен 2007
    Сообщения:
    10
    Симпатии:
    1
    по поводу обрезки

    Держи функцию на php (сам давеча писал) режет то что надо.
    Так как по геометрии у меня в школе была твердая ПЯТЕРКА!!!

    PHP:
    //Делает ресайз с точным вписыванием в размеры новой картинки,
    //обрезая куски изображения по вертикали или по горизонтали
    function resizeWithCropToFile ($sourcefile,$newx,$newy,$targetfile,$jpegqual)
    {

    $size=GetImageSize($sourcefile); 
    $x=$size[0]; 
    $y=$size[1];

    //создание контейнеров для изображений
    $source_id imageCreateFromJPEG($sourcefile);
    $target_id=imagecreatetruecolor($newx$newy);

    //Если масштабировать по X и при этом Y будет меньше нужной величины 
    //то маоштабировать по Y и отрезать по горизонтали края
    if ($newx*$y/$x<$newy) {

    //при масштабировании по y надо будет выкусить размером resx кусок из центра 
    $resx=$newx*$y/$newy;
    //делаем масштабирование с выкусыванием
    $is_resized=imagecopyresampled($target_id,$source_id
                                 
    0,0,($x-$resx)/2,0
                                  
    $newx,$newy
                                  
    $resx,$y);
    } else {

    //при масштабировании по x надо будет выкусить размером resy кусок из центра 
    $resy=$newy*$x/$newx;

    //делаем масштабирование с выкусыванием
    $is_resized=imagecopyresampled($target_id,$source_id
                                 
    0,0,0,($y-$resy)/2
                                  
    $newx,$newy
                                  
    $x,$resy);

    }

    imagejpeg ($target_id,$targetfile,$jpegqual); 
    return 
    true;

    }
    Добавлено через 2 минуты


    Та картинка что в центре и меняется, сделана на этой функции
     
  5. Urch

    Urch Вебмастер

    Регистр.:
    3 янв 2008
    Сообщения:
    263
    Симпатии:
    73
    не силен в коде... буду благодарен если объясниш, как данную приблуду можно прикрутить к WP?
     
  6. rafor

    rafor Постоялец

    Регистр.:
    27 июн 2011
    Сообщения:
    118
    Симпатии:
    20
    вставляешь этот код в functions.php, в нужном тебе месте вызываешь его с помощью resizeWithCropToFile ($sourcefile,$newx,$newy,$targetfile,$jpegqual)

    $sourcefile,$newx,$newy,$targetfile,$jpegqual - при вызове соответсвенно меняешь на то что у тебя.
     
Статус темы:
Закрыта.