Нужно определить размер картинки, которая ещё не сохранена на диске. Для этих целей я взял модуль 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
|
По-моему скаляр должен являться ссылкой на данные в памяти, но даже если так, то как её найти? И по английски читаю через слово ). Может кто знает как это провернуть? |