問題タブ [directwrite]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
400 参照

directwrite - 斜体テキストの IDWriteTextLayout の問題

IDWriteTextLayout を取得してレイアウトを調整し、グリフがレイアウト境界からはみ出さないようにする方法を知っている人はいますか? これは、LHS または RHS に揃えられている場合に、一部のフォントの「f」などの斜体で特に問題になります。

デフォルトでは、GDI+ はこのように動作します (参照: StringformatFlagsNoFitBlackBox)。1 つのオプションは、カスタム レイアウトを実装することです..しかし、それは非常に複雑に思えます。可能であれば、標準のレイアウトを使用したいと思います。

0 投票する
2 に答える
1007 参照

direct2d - DirectWrite: レンダリングされたビットマップ データを取得する方法

DirectWrite と Direct2D を使用してレンダリングされたビットマップ イメージを取得する方法はありますか?

FreeType2 の FT_GlyphSlot->bitmap のように...

0 投票する
1 に答える
472 参照

directx - DirectWrite.TextLayout 変換マトリックスは効果がない

DirectWrite ( SharpDX 経由) を使用して TextLayout を描画していますが、いくつかのことを除いて期待どおりに動作します。この TextLayout コンストラクターを呼び出しています。

http://sharpdx.org/documentation/api/m-sharpdx-directwrite-textlayout--ctor-2

私のコードはかなり簡単です:

変換行列を任意の値に変更できますが、出力には影響しません。pixelsPerDipまた、ゼロを指定するとテキストが描画されないことを除いて、効果がないこともわかりました。SharpDX ソースを掘り下げたところ、これらの入力は正しく処理されているようです。私は何を間違っていますか?

私が使用している TextLayout コンストラクターは、CreateGdiCompatibleTextLayout(). 私が行っている/使用している何かが GDI と互換性がなく、それが原因で問題が発生する可能性はありますか?

0 投票する
1 に答える
836 参照

c++ - D3D 上の D2D の正しいサイズ変更

D3D11 での D2D レンダー ターゲットのサイズ変更に問題があります。スワップ チェーン バッファーのサイズを変更する関数を作成します。うまく機能しますが、D2D をアクティブにすると、サイズ変更が壊れてしまいました。

ウィンドウを小さくすると、すべてのメッシュがウィンドウから消え、テキストだけが表示されます。大きくすると、メッシュはレンダリングされますが、プロポーションは正しくありませんが、投影マトリックスを再作成します。

私の質問は、ウィンドウ サイズが変更された後に D2D レンダー ターゲットとテキストのサイズを正しく変更する方法です。

D3D11Device、swapchain1、および D2D を作成するためのコードを次に示します。

WM_SIZE イベントでバッファのサイズを変更します。

0 投票する
2 に答える
770 参照

c++ - DirectWrite PadWrite サンプルを動作させるにはどうすればよいですか?

私は DirectWrite API について学ぼうとしているので、あらゆる文化からのテキストのレンダリングの問題に対する柔軟な解決策を得ることができ、それを使用して、「定型化された」方法よりもはるかに多くの制御を備えたリッチ テキスト編集をアプリケーションに組み込むことができる可能性があります。テキストの編集/表示。

PadWrite サンプルは見栄えがよく、API がいかにうまく設計されているかを示しています。

PadWrite のスクリーンショット

サンプル テキストには、"Mixed scripts:" で始まる行が含まれています。ソース コードでは、すべてのサンプル テキストが 1 つの C++wchar_t[]リテラルで指定されており、混合スクリプトはすべて Visual Studio 2012 のコード エディターで正しく表示されます。それらを通常の Windows ワードパッドにコピー アンド ペーストすると、それらも正しく表示されます。また、アラビア語の右から左へのセクションでは、これらの両方のエディターで正しいキャレット ナビゲーション動作が行われます。

しかし、実際に PadWrite サンプルを実行すると、どれも機能しません。代わりに、次のように表示されます。

ここに画像の説明を入力

UTF-8 に変換されてから誤って解釈されているように見えます (すべて で行われているため意味がありませんwchar_t)。

Windows 8.1 を実行しています。PadWrite をワードパッドや Visual Studio 2012 と同様に機能させるにはどうすればよいですか? 更新されていない API のプレリリース バージョンの無効なサンプルですか?

注意。最初の警告サインは、PadWrite が最初にコンパイルさえしなかったことでした-ファイル内でEditableLayout.cpp、ステートメントTextEditor.cppの後にこれを追加する必要がありました:#include

0 投票する
1 に答える
1356 参照

c++-cli - Windows 7 での D3D D2D 相互運用

DWrite を使用して dx11 アプリでテキストを描画しようとしていますが、多くの問題があります。dx10 は D3D を D2D に接続できるため、D3D10 デバイスと D3D11 デバイスの間でリソースを共有しました。これが私の GraphicsDevice のコードです。




そして、これは私の SpriteBatch です:


C# アプリから SpriteBatch.DrawString(...) を呼び出すと、画面に何も書き込まれません。不足しているものを誰かに説明してもらえますか? 私は DirectX プログラミングの初心者なので、静かにしてください xD ありがとう!