1
我想升級一些舊網站到最新版本的Django和索爾縮略圖需要更新以及。圖像過濾新的索爾縮略圖
我已經修復了一些新的{%thumbnail ...%} {%endthumbnail%}格式的模板,但我在使用內置和自定義過濾器(或處理器)時遇到了問題。我有一個用於製作縮略圖黑色&白色和自定義寫入一個用於設置飽和度爲50%。我怎樣才能用最新版本的sorl-thumbnail來做到這一點?
我想升級一些舊網站到最新版本的Django和索爾縮略圖需要更新以及。圖像過濾新的索爾縮略圖
我已經修復了一些新的{%thumbnail ...%} {%endthumbnail%}格式的模板,但我在使用內置和自定義過濾器(或處理器)時遇到了問題。我有一個用於製作縮略圖黑色&白色和自定義寫入一個用於設置飽和度爲50%。我怎樣才能用最新版本的sorl-thumbnail來做到這一點?
似乎功能已經消失,新的索爾代碼庫。
但是,您可以通過創建(通過子類化)引擎,設置THUMBNAIL_ENGINE
並覆蓋create()
方法來實現自定義處理。
例如,增加一個處理選項生成圓角:
from sorl.thumbnail.engines.pil_engine import Engine
class RoundedCornerEngine(Engine):
def create(self, image, geometry, options):
image = super(RoundedCornerEngine, self).create(image, geometry, options)
image = self.cornerize(image, geometry, options)
return image
def cornerize(self, image, geometry, options):
if 'cornerradius' in options:
...whatever...
return image
,你會打電話,在一個模板(注意cornerradius
選項):
{% thumbnail my_image "300x150" format="PNG" cornerradius=10 as thumb %}
<img class="thumb" src="{{ thumb.url }}">
{% endthumbnail %}
太糟糕了。我希望他們在以後的修訂中添加它。謝謝你的提示。 – 2011-06-28 15:36:15
順便說一下,只需在'thumbnail'標籤中指定'colorspace =「GRAY」',即可開箱製作「縮略圖黑白」。 – mjl 2011-06-29 10:57:29