Ну, я нашел способ:
При изменении размера анимированного gif
использование Magick::coalesceImages()
не лучший способ ...
Вместо этого я изменяю размеры в соответствии сразмер в процентах, а не абсолютный, при этом пропуская вызов Magick::coalesceImages()
.
Например, допустим, мой исходный анимированный gif
имеет размер 300x300, и я хочу изменить его размер до 150x150, я сделаю следующее:
- Считайте изображение в
Magick::Blob
- Рассчитайте процентные числа (50% x50% в моем демонстрационном случае)
- Измените размер каждого кадраизображение в соответствии с процентными вычислениями.
Таким образом, мы не увеличиваем размер каждого кадра, потому что мы не используем функцию Magick::coalesceImages()
, и мы изменяем размеры каждого кадра в соответствии с его исходным размером, поэтому мыне возникает проблем с прозрачностью кадра.