114

イメージをロードするアプリケーションがあり、ユーザーがそれをクリックすると、このイメージのテキスト領域が表示され (を使用jquery)、ユーザーはイメージにテキストを書き込むことができます。画像に追加する必要があります。

それについていくつかの調査を行った後、PIL(Python Imaging Library )がこれを行うのに役立つと考えました。そこで、いくつかの例を試して、それがどのように機能するかを確認し、画像にテキストを書き込むことができました. Python Shellただ、実際に使ってみると、web環境でやってみると多少の違いはあると思います。textarea のテキストが px で非常に大きいことを意味します。PIL をテキストエリアのテキストと同じサイズにするにはどうすればよいですか?

テキストはマルチラインです。を使用して、画像でも複数行にするにはどうすればよいPILですか?

PIL を使用するよりも良い方法はありますか? これが最良の実装であるかどうかは完全にはわかりません。

html:

<img src="images/test.jpg"/>

編集中の画像です

var count = 0;
$('textarea').autogrow();
$('img').click(function(){
    count = count + 1;
    if (count > 1){
        $(this).after('<textarea />');
        $('textarea').focus();
    }   
});

テキストエリアを追加するjquery。また、テキスト領域は position:absolute で固定サイズです。

画像上のテキストエリアの座標を取得できるように、フォーム内に配置する必要がありますか? ユーザーがクリックしたときに画像にテキストを書き込んで画像に保存したい。

4

9 に答える 9

17

プロジェクトのルートにディレクトリ "fonts" を作成し、そこにフォント (sans_serif.ttf) ファイルを置くことができます。次に、次のようなものを作成できます。

fonts_path = os.path.join(os.path.dirname(os.path.dirname(__file__)), 'fonts')
font = ImageFont.truetype(os.path.join(fonts_path, 'sans_serif.ttf'), 24)
于 2014-07-20T04:23:32.953 に答える