0

キャンバスとペイントは、画像にテキストを追加する標準的な方法であることに気付きました。

Paint myPaint = new Paint();
myPaint.setColor(Color.Black);
myPaint.setTextSize(25);
myCanvas.drawText("Test test test", 0, 0, myPaint); //Set the position

、しかし、更新時に更新されたテキストでキャンバスを再描画する画像の上に別のテキストビューを配置する代わりに、画像の上にあるテキストを編集して、Android keyb を介して入力すると、テキストがまったく同じようにレンダリングされるようにします最終的に編集されたビットマップになります - そのためにどのようなアプローチを取ることができますか?

インパクトフォントを画像に直接入力できるミームジェネレーターを想像してみてください。それが私が実現したいUIの種類です。たとえば、この画像のように: http://i.imgur.com/JgGRj.jpg - 太陽のグラフィックを表示しますが、上部のテキストはクリックして編集でき、新しく作成されたテキストは表示どおりに画像とともに保存されます。

4

2 に答える 2

0

考えられるもう 1 つのアプローチは、画像の適切な場所に配置された EditText を使用することです。透明な背景を使用して、テキストが画像の一部であるという印象を与えます。

画像を保存する場合は、drawText() を使用して最終結果を作成し、保存できます。テキストを正しく描画するために使用するペイントを取得するには、いくつかの作業が必要です。特に、ディザリングとアンチエイリアスの使用を確認してください。または、getDrawingCache() で EditText のビットマップ表現を取得し、それを背景画像の上に描画することもできます。

幸運を。

于 2012-11-17T18:56:56.377 に答える
0

これは、ユーザーがマウスとキーボードを操作するブラウザ アプリケーションに適しています。イメージ エディター (Photoshop のようなラスターまたは Inkscape のようなベクター) のように感じます。

Android デバイスの問題は、ユーザーが文字を入力するためのタッチスクリーンしか持っていない可能性が高いことです。これは、画面スペースのほとんどが仮想キーボードによって占有されることを意味します。これは、タブレットのような大画面でも同様です。

技術的に言えば、サブクラス化する必要はありませんView。適切な背景とフォントを使用すれば、単純なEditText. 問題は、このライブ プレビュー機能がタッチスクリーン デバイスではほとんど役に立たないことです。そのため、Web アプリケーションのようにバック オフィスで画像を生成することを強くお勧めします。

于 2012-11-17T18:37:21.003 に答える