2016-08-24 5 views
0

私はDjangoと簡単なサムネイル2.3を使用しています。私の意図は、正方形ではなく、正方形でない原画像の場合は空白の部分を白い色で塗りつぶすように画像を縮小して縮小することです。透明な画像の場合にも、透明度は白に変更されるものとする。私はいくつかのデバッグを試みたし、すべてが非常にうまく動作するようだと、コードはバックグラウンド・プロセッサの機能でライン318に到達するまで、理にかなってeasy_thumbnails.processors.backgroundでサムネイルの作成がクラッシュする

THUMBNAIL_PROCESSORS = (
    'easy_thumbnails.processors.colorspace', 
    'easy_thumbnails.processors.autocrop', 
    'easy_thumbnails.processors.scale_and_crop', 
    'easy_thumbnails.processors.filters', 
    'easy_thumbnails.processors.background', 
) 

THUMBNAIL_ALIASES = { 
    '':{    
     'square_image': {'background':'#fff','replace_alpha':'#fff','size':(200,200)}, 
     }, 
    } 

THUMBNAIL_TRANSPARENCY_EXTENSION = 'jpg' 

私のsettings.pyには、次の行が含まれています簡単サムネイルprocessors.py

ここ
im = colorspace(im, replace_alpha=background, **kwargs) 

デバッガbackground(im, size, background=None, **kwargs)を呼び出したメソッドにまっすぐに戻ります。

THUMBNAIL_ALIASESでsquare_imageの設定に問題がありますか?それは他の何かになることができますか?

+1

です。完全なスタックトレースを表示します。 –

+0

@ SergeyGornostaev、ありがとう!私はstacktraceを取得する方法を理解しようとし、 "失敗静かに"オプションがあることに気づいた。私は問題を理解して答えを書くだろう。私は正しい方向に私を押してあなたのコメントをアップアップします:-) –

答えて

0

それはbackground -keyが

im = colorspace(im, replace_alpha=background, **kwargs) 

replace_alphaになっているとして、あなたが、同時に色空間プロセッサからのバックグラウンドプロセッサから'background':'#fff''replace_alpha':'#fff'を使用できないことが判明した後、あなたが終了1つはまだ**kwargsであるので、2つのreplace_alphaで始まります。これにより、エラーが発生します。しかし、それはまた

THUMBNAIL_ALIASES = { 
    '':{    
     'square_image': {'background':'#fff','replace_alpha':'#fff','size':(200,200)}, #wrong 
     }, 
    } 

の中でもあなたはreplace_alphaを必要としないことがわかります。バックグラウンドプロセッサはフィットしていない画像の側面にバーを追加するのではなく、代わりに画像を描画します。色空間の変換はそれ以前には起こっていないようです。したがって、適切な定義は

関連する問題