キャンバスはアンチエイリアスすべてが画像を除いて、そこに描かれます。
SVG
それはベクトルであり、容易にPostScriptに変換することができますように理想的であるSVGを使用して -
はいえ、さまざまなオプションがあります。プリンタがポストスクリプトをサポートしている場合、ベクトルを最適なラスタマスクにラスタライズし、鋭いエッジを作成します。あなたは非常に大規模なビットマップを使用することにより、アンチエイリアシングの影響を低減させるが、私自身の経験から、おそらくあなたにもできる
大きなビットマップ
、それはグレー点を解消しません。
また、一部のブラウザでは6kに制限されているキャンバス要素自体の制限を満たす可能性があります。プリンタのDPIによっては、これで十分でない場合もあります。
大きなビットマップとしきい値(以下を参照)を組み合わせると、おそらくこれを回避できます。
は、これを回避するにはディープダイブ実装
もう一つの方法が、より高度は、手動でフォントをロードし、ブレゼンハムまたは同様のアルゴリズムを使用してのパスを描画することです。もう一つの側面は、ポリゴン塗りつぶしアルゴリズム(つまり、偶数奇数または非零巻き)を使用する必要があるということです。
このすべてがあまりにも多くの努力なしでなんとかです:
Adobe社のフォントは、一般的なリポジトリの方が一般的なので、Open-Typeでは十分ではありません。おそらく、他の方法でパスデータを取得したり、Open TypeバージョンまたはSVGフォントタイプでも同等のものを見つけることができます。
閾値
もう1つの方法は、グレーレベルを量子化することです。ビットマップを反復処理し、しきい値を使用してピクセルを透明または無地のいずれかに設定できます。
結果は、いくつかのエッジの周りの鋭い遷移で終わるようにはあまり良くないかもしれません。ただし、印刷解像度と選択したしきい値に応じて、これらのアーティファクトを減らすことができます。
出典
2016-04-19 13:11:41
K3N
@Kaiido申し訳ありませんが、どのようにビットマップフォントを重複して使用していますか? – K3N
@kaiidoこのスレッドのトピックは「キャンバス上のテキストのアンチエイリアス」であるようですが、私の答えはそれに対処する1つの方法です。それは話題ではないのですか? – K3N
キャンバスのサイズをできるだけ大きくすることが1つの解決策であるように思えます。これにより、アンチエイリアシングピクセルのサイズが最小限に抑えられます。その上に何度もエイリアシングのコントラストを鋭くするか、単純なスレッショルドクランプを書く...テキストをスクリーンキャンバスにレンダリングし、ピクセルにスレッショルドクランプを適用するif(alpha
Blindman67