Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Perl: Системное программирование > Как узнать размер картинки в скаляре с помощью Ima


Автор: everyone 3.10.2004, 17:31
Нужно определить размер картинки, которая ещё не сохранена на диске. Для этих целей я взял модуль Image-size. Определить размер сохранённого файла и узнать его тип можно одной строкой:
Код
($x, $y, $id) = img_size("путь к файлу");


Но наткнулся на ситуацию, когда от размера картинки зависит - сохранять её на диск или нет. Если подставить в img_size как аргумент - скаляр с содержанием файла(картинки), то модуль никак не реагирует.

В документации я нашёл любопытные строчки:

Код

 use Image::Size;
   # Get the size of an in-memory buffer
   ($buf_x, $buf_y) = imgsize(\$buf);
   # Assuming that $buf was the data, imgsize() needed a reference to a scalar


По-моему скаляр должен являться ссылкой на данные в памяти, но даже если так, то как её найти?
И по английски читаю через слово smile.gif). Может кто знает как это провернуть?

Автор: chaos 7.10.2004, 12:50
Если что то
Код
\$buf
это и есть ссылка на $buf

Автор: ElectricalStorm 7.10.2004, 14:56
Вот так

Код

($width, $height) = Image::Size::imgsize(\$buffer);

Автор: everyone 13.10.2004, 18:46
Интересно, почему раньше не получалось ? stena.gif

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)