Gibt es eine Möglichkeit, animierte GIFs mit Sorl zu verändern?Animierte GIF-Größenanpassung mit Sorl-thumbnail
Antwort
Wow, das ist eine Feature-Anfrage, die ich nie erwarten würde! sorl.thumbnail
ist jetzt Engine konfigurierbar und kommt mit PIL und pgmagick. Ich denke, es gibt Möglichkeiten, animierte Bilder imagemagick zu skalieren und vielleicht kann pgmagick das tun, aber ich habe das nicht getestet und es ist sehr unwahrscheinlich, dass es mit den ausgelieferten Engines wie es ist.
Irgendwas Neues? Kann sorl.thumbize Größe ändern animierte gif Bild jetzt ?? Ich habe festgestellt, dass es Pluggable Engine Unterstützung (ImageMagick, PIL, pgmagick enthalten)? – newlife
Ich habe es geschafft, sorl arbeiten mit gif.
- Sie müssen Bild Magick oder Grafik Magick Backend verwenden (PIL unterstützt keine GIF-Größenänderung ohne etwas Hacking). Sie können auch versuchen, pgmagick, aber ich weiß nicht, ob es funktioniert.
diese irgendwo im Code Put:
from sorl.thumbnail import base base.EXTENSIONS.update({'GIF': 'gif'})
Sie einen Blick auf SORL-thumnail Quelle nehmen zu finden, wie diese
UPD funktioniert: Es ist nicht getestet. Verwenden Sie dies nur, wenn Sie sich sicher sind, was Sie tun.
Ich habe funktionierende Lösung (getestet mit Sorl-thumbnail 11.12.1b). Benötigt Wand 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
Ich werde mein Beispiel teilen:
# -*- 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. ungültiges Zeichen animierte-animierte-Vektor
- 2. Animierte Ansichtshöhe mit Swift
- 3. Animierte Sequenz mit Uislider
- 4. animierte Schriftrolle mit Jquery?
- 5. animierte Seite: Wechsel mit Turbolinks
- 6. Animierte Strichbreite mit Highcharts-Renderer
- 7. Animierte Inhalte mit Jquery & Ajax
- 8. Animierte Zugschnur
- 9. Animierte Pfad mit Pfeilmarker mit Snap.svg
- 10. Animierte Fading-Effekt CSS
- 11. Android animierte verschachtelte Fragmente
- 12. ThreeJS animierte Lichtfarbe
- 13. Animierte Textbilder in C
- 14. Animierte Liniendiagramm in Javascript?
- 15. UICollectionView animierte Daten ändern
- 16. Animierte Gif innerhalb UITextView
- 17. Animierte Splash in WxPython
- 18. Animierte Seitenübergänge in reagieren
- 19. Animierte Übergänge in WPF
- 20. Animierte Population von RecyclerView
- 21. Animierte Marker auf Mapbox
- 22. Animierte UILabel mit CATransition funktioniert nicht
- 23. Animierte UIImage in UITextView mit TextKit
- 24. Einfachste JQuery animierte Navbar mit mehrstufigen Dropdowns
- 25. Animierte Tabs mit erstem Inhalt aktiv
- 26. MATLAB animierte Splash-Screen mit gif
- 27. Komprimiere animierte Gif Bildgröße mit C#
- 28. Animierte Richtungspfeile "aroundMe" Stil mit ngCordova
- 29. Polymerkernübergänge für animierte Seiten mit Kernlisteninhalt
- 30. CAShapeLayer Schlaganfall mit CADisplayLink animierte nicht abgeschlossen
jeden Erfolg zu diesem Thema? –