0

HTML5でフォントビューアを作成しようとしています。ユーザーがPCでTrueTypeフォントを選択すると、コードがそれをロードして、キャンバスにテキストをレンダリングします。

ファイル選択が機能していますが、c:\fakepath\myfont.ttf

キャンバスへのテキストのレンダリングが機能しています。

しかし、選択したフォントを実際にキャンバスフォントとして読み込もうとして困惑しています。だから私はファイルからフォントをロードしてそれをキャンバスフォントとして設定する方法を探しています、何かアイデアはありますか?

css @ font-faceでカスタムフォントを指定できることに気付きましたが、ゲームが読み込まれた後、実行時に変更できますか?

TIA

4

2 に答える 2

0

プロパティを探していcontext.fontます ( http://www.w3.org/html/wg/drafts/2dcontext/html5_canvas/#dom-context-2d-font )

@font-face 宣言で宣言した名前を使用する必要があります。

例:

context.font = 'italic 400 12px/2 Unknown Font, sans-serif';

を使用する前にフォントを設定する必要がありますfillText。Canvas に既に書き込まれているフォントは、テキストではなくビットマップ データと見なされるため、そのフォントを「置き換える」ことはできません。

編集:わかりました、あなたは質問であまりにも多くのことを話し、私を混乱させました.

アップロードするだけです (非同期で行いたい場合は、HTML5 API を試すことができます)。次に、サーバーは、スタイル要素に挿入する @font-face 宣言を返す必要があります (動的に作成できます)。

次に、私が言ったようにフォントを使用するだけです。これは非常に簡単です:

  • フォントをアップロードする
  • 適切な @font-face を挿入します
  • フォントを使用する
于 2013-03-20T19:18:14.967 に答える
0

フォントファイルをその場でキャンバスに操作するには、実際にはクライアント側のJavascriptの方法が必要です。

Cufon フォントを見てみましょう:

https://github.com/sorccu/cufon/wiki/about

于 2013-03-20T17:44:46.703 に答える