Android のキャンバスにアンチエイリアシングなしでテキストを描画しようとしています。使用したいフォントは、PC の C:\windows\fonts ディレクトリからアプリの assets ディレクトリにコピーしたファイル cour.ttf です。
私はこのコードを使用しています:
paint.setColor(Color.BLACK);
paint.setTypeface(Typeface.createFromAsset(getAssets(),"cour.ttf"));
paint.setTextSize(20);
paint.setAntiAlias(false);
canvas.drawText("ABCDE abcde 12345 -+/#.",100,100,paint);
ただし、 setAntiAlias 関数は効果がないようです。この写真は私の結果を示しています: http://oi47.tinypic.com/35253wo.png
最初の行はアプリのスクリーンショットで、アンチエイリアシングが false に設定されています。2 行目は、アンチエイリアシングが true に設定されたアプリのスクリーンショットです。3 行目は、私が期待するものです。これは、同じフォントを使用して notepad.exe で PC から作成したスクリーンショットです。
私は何か間違ったことをしていますか、これはアンチエイリアシングをオフにしたときに期待される出力ですか? ここで達成しようとしているのは、ぼやけていないテキストをピクセル化することです。
どんな助けでも大歓迎です。
編集:私はまだ解決策を見つけていませんが、興味深いものを見つけましたandroid:hardwareAccelerated="false"
.アクティビティに追加すると、かなり解決しました. どうやら、これは Android 4 ではデフォルトでオンになっています。ただし、削除したい (非常に明るい) 影がまだ表示されています。
ハードウェア アクセラレーションを無効にしたスクリーンショット: http://oi49.tinypic.com/aayypj.png