¿Hay alguna posibilidad de cambiar el tamaño de los gifs animados con sorl?Cómo redimensionar gif animados con sorl-thumbnail
Respuesta
Guau, esa es una solicitud de función que nunca esperaría! sorl.thumbnail
ahora es motor configurable y viene con PIL y pgmagick. Creo que hay formas de hacer que imagemagick cambie el tamaño de los gifs animados, por lo que pgmagick puede hacerlo, pero no lo he probado y es muy poco probable que funcione con los motores enviados tal como están.
¿Alguna novedad? ¿puede sorl.thumbnail cambiar el tamaño de la imagen animada del gif ahora? Encontré que tiene compatibilidad con el motor enchufable (ImageMagick, PIL, pgmagick incluido)? – newlife
Me las arreglé para hacer que funcione con gif.
- Tienes que usar la imagen magick o graphics magick backend (PIL no admite el redimensionamiento gif sin algunas intrusiones). También puedes probar pgmagick, pero no sé si funcionará.
poner estas en algún lugar de su código:
from sorl.thumbnail import base base.EXTENSIONS.update({'GIF': 'gif'})
Usted puede echar un vistazo a la fuente SORL-thumnail para encontrar cómo funciona esto
UPD: Es sin probar. Úselo solo si está seguro de lo que está haciendo.
Tengo una solución de trabajo (probada con sorl-thumbnail 11.12.1b). Requiere Varita backend:
#sorl_extensions.py
from sorl.thumbnail.base import (
ThumbnailBackend, EXTENSIONS,
default_settings as thumbnail_default_settings
)
EXTENSIONS.update({'GIF': 'gif'})
class GifThumbnailBackend(ThumbnailBackend):
def _get_format(self, file_):
file_extension = self.file_extension(file_)
if file_extension == '.jpg' or file_extension == '.jpeg':
return 'JPEG'
elif file_extension == '.png':
return 'PNG'
elif file_extension == '.gif':
return 'GIF'
else:
from django.conf import settings
return getattr(settings, 'THUMBNAIL_FORMAT', thumbnail_default_settings.THUMBNAIL_FORMAT)
#settings.py
THUMBNAIL_ENGINE = 'sorl.thumbnail.engines.wand_engine.Engine'
THUMBNAIL_BACKEND = 'tools.sorl_extensions.GifThumbnailBackend'
THUMBNAIL_PRESERVE_FORMAT = True
voy a compartir mi ejemplo:
# -*- coding: utf-8 -*-
import os
from sorl.thumbnail import get_thumbnail
def get_file_extension(obj):
filename, file_extension = os.path.splitext(obj)
return file_extension
def get_thumbnail_size(obj, size):
img_format = 'JPEG'
if get_file_extension(obj.url) == '.png':
img_format = 'PNG'
if get_file_extension(obj.url) == '.gif':
from sorl.thumbnail import base
base.EXTENSIONS.update({'GIF': 'gif'})
img_format = 'GIF'
return get_thumbnail(obj, size, quality=90, format=img_format).url
- 1. Cómo evitar que MFMailComposeViewController escale GIF animados
- 2. Redimensionar la animación GIF, pil/imagemagick, python
- 3. Cómo hacer que los GIF animados funcionen desde Android WebView
- 4. Compatibilidad con GIF con Android
- 5. C# Diga los GIF estáticos aparte de los animados
- 6. ¿Cómo se muestran los gifs animados con .NET Compact Framework
- 7. Hacer gifs animados usando R
- 8. ¿Por qué no se anima un GIF en lugar de sprites de CSS animados?
- 9. ¿Qué navegadores no son compatibles con los gifs animados?
- 10. Redimensionar la imagen con Recortar
- 11. Detener la animación GIF programáticamente
- 12. Creando un GIF animado con ImageIO?
- 13. Alternativa GIF animada para iOS
- 14. Redimensionar VideoView
- 15. Cómo redimensionar dinámicamente altura UITableViewCell
- 16. Dividir GIF en marcos
- 17. Cómo animar al redimensionar UIView
- 18. ¿Cómo compruebo programáticamente si una imagen GIF está animada?
- 19. ¿Cómo generar un GIF animado de un Manipulate? 8.0.1
- 20. Redimensionar UIImage con relación de aspecto?
- 21. cómo configurar la altura solo al redimensionar con ImageMagick
- 22. Redimensionar imagen PNG
- 23. ¿Puedo detectar gifs animados usando php y gd?
- 24. dibujos animados de imágenes reales
- 25. redimensionar imágenes base64
- 26. desactivación de la animación GIF en HTML
- 27. Redimensionar UIImage en UIImageView
- 28. Gif de redimensionamiento de Python con PIL
- 29. Tinymce redimensionar solo
- 30. jQuery - Retirar Redimensionar Funcionalidad
Cualquier éxito en ese tema? –