The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги ]

Масштабирование картинки на Perl (модуль Image::Magick) без потери качества
use Image::Magick;
my $image = Image::Magick->new; #новый проект
my $x = $image->Read("photo.jpg"); #открываем файл
my ($ox,$oy)=$image->Get('base-columns','base-rows'); #определяем ширину и высоту изображения
my $nx=int(($ox/$oy)*150); #вычисляем ширину, если высоту сделать 150
$image->Resize(geometry=>geometry, width=>$nx, height=>150); #Делаем resize (изменения размера)
if($nx > 200) { #Если ширина получилась больше 200
   my $nnx = int(($nx-200)/2); #Вычисляем откуда нам резать
   $image->Crop(x=>$nnx, y=>0); #Задаем откуда будем резать
   $image->Crop('200x150'); #С того места вырезаем 200х150
}
$x = $image->Write("photo.jpg"); #Сохраняем изображение.
 
10.01.2003 , Автор: Леонид Палагин , Источник: http://www.webscript.ru/stories/02/...
Ключи: resize, file, size, bandwidth, image, perl, module / Лицензия: CC-BY
Раздел:    Корень / Программисту и web-разработчику / Perl / Полезные подпрограммы на Perl / Обработка изображений на Perl

Обсуждение [ RSS ]
 
  • 1, Motodor, 11:44, 28/06/2004 [ответить] [смотреть все]
  • +/
    В коде присутствует ошибка

    $image->Resize(geometry=>geometry, width=>$nx, height=>150);

    должно выглядить как

    $image->Resize(width=>$nx, height=>150);

    это баг самого Magick'a .

     
  • 2, Den, 12:11, 04/05/2006 [ответить] [смотреть все]
  • +/
    Ниче не баг.
    Note, that the geometry parameter is a short cut for the width and height parameters (e.g. geometry=>'106x80' is equivalent to width=>106, height=>80 ).
     
  • 3, Den, 13:16, 05/05/2006 [ответить] [смотреть все]
  • +/
    И еще, строки:
    $image->Crop(x=>$nnx, y=>0);
    $image->Crop('200x150');
    Должны выглядеть как:
    $image->Crop(x=>$nnx, y=>0, geometry=>200x150);
     
  • 4, SKi, 21:02, 08/10/2007 [ответить] [смотреть все]
  • +/
    Кавычки тоже надо:
    _Должны выглядеть как:
    $image->Crop(x=>$nnx, y=>0, geometry=>'200x150');
     

    Ваш комментарий
    Имя:         
    E-Mail:      
    Заголовок:
    Текст:



      Закладки на сайте
      Проследить за страницей
    Created 1996-2017 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    Hosting by Ihor