Что такое быстрый способ рассказать, какие размеры Imagick
экземпляр будет, когда вы позвоните Imagick::thumbnailImage($w, $h)
?Предсказание Imagick :: thumbnailImage() размеры
ответ
Не удалось найти алгоритм для определения размеров, который Imagick::thumbnailImage($w, $h)
дает возможность обрабатывать все возможные ситуации с точностью 100%. (Например, случаи, когда $w
или $h
являются 0
и т.д.) Таким образом, я сделал эту функцию:
function thumbSize($pic, $thumbW, $thumbH) {
//make a white image of the same size
$picsize = $pic->getImageGeometry();
$whitepic=new Imagick();
$whitepic->newImage($picsize['width'], $picsize['height'], "white");
$whitepic->thumbnailImage($thumbW, $thumbH);
return $whitepic->getImageGeometry();
}
К сожалению, он должен изменить размер изображения, чтобы работать; он во много раз медленнее, чем решение на основе алгоритма. Но это работает.
Если у кого-то есть лучший ответ, я проверю его.
Возможно что-то вроде этого ...
# 3:2 format
$w = 120; # desired width
$h = 80; # desired height
$r = 640/480; # current width/height 4:3 format
if ($w/$h < $r)
$w = $h * $r;
else
$h = $w/$r;
echo $w, $h; # 120x90 4:3 format
Если вы даете размеры (текущий вес & ч, желательные ж & ч, а один производится Imagick), было бы более полезным.
Предположительно, один из размеров, будь то ширина или высота, будет точно соответствовать размеру, указанному в вашем миниатюрном вызове. Вы можете определить, какой из них можно сравнить с отношением thumbW/width и thumbH/height, будет использоваться меньшее из двух. Размеры миниатюр - это соотношение номинальной ширины * и высоты *. Осталось только преобразовать в целые числа, а выбор округлен, округлен и округлен до ближайшего. Я не знаю, какой из них использует Imagick, но экспериментировать и экспериментировать с ним не следует.
Я также не знаю, что произойдет, когда оба отношения меньше единицы, т. Е. Когда исходное изображение меньше требуемого размера эскиза. Простой эксперимент должен прояснить это.
Извините, что не выполнял эксперименты самостоятельно, но PHP не в моем репертуаре.
- 1. Imagick :: thumbnailImage не принимает 4 параметра, когда они использовались для
- 2. Imagick с удаленного URL
- 3. Imagick Memory & CPU limits
- 4. PHP Imagick - вывод изображения изменяется и его размеры
- 5. php Imagick color overlay
- 6. Imagick выход ложное изображение
- 7. Imagick PNG encodeing проблемы
- 8. Как использовать функцию writeImage() imagick?
- 9. Imagick convert vs imagick PHP
- 10. Изменить размер изображения с помощью imagick
- 11. Imagick Animate Image Position
- 12. Imagick не работает
- 13. Предсказание вероятности
- 14. SIFT предсказание
- 15. предсказание отрасли
- 16. Использовать imagick с S3 AWS
- 17. Imagick Не удалось прочитать файл PDF
- 18. PHP iMagick сжатия изображений
- 19. Анимированное изображение GIF Resize с Imagick PHP
- 20. php imagick gif resize all frame
- 21. PHP Imagick: как изменить размер без увеличения?
- 22. Swiftkey как предсказание текста (предсказание следующего слова) в Java
- 23. Как уменьшить размер изображения с помощью Imagick до заданной ширины?
- 24. странное предсказание кривой ROC
- 25. Предсказание IO Request Висит
- 26. Предсказание эффективности нуклеотидной последовательности
- 27. Предсказание w/Косинус Сходство
- 28. tensorflow как получить предсказание
- 29. Предсказание пользовательского намерения
- 30. Python предсказание sklearn функции
Вы можете создать изображение с форматом «СЕРЫЙ», чтобы немного ускорить его. –