問題タブ [formatted-text]

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 投票する
1 に答える
779 参照

wpf - Canvas (MVVM) に ItemsControl を使用して FormattedText を配置する方法

XAML の ItemsControl で MVVM パターンを使用して、指定された四角形の左上隅に FormattedText 文字列の左上のインク ポイントを正確に配置しようとしています。(四角形は InkAnalyzer.Location.GetBounds() によって指定されます)。

私が理解できない(またはGoogleで見つけられない)理由により、FormattedText文字列は常に長方形の左上隅の右下に配置され、距離は印刷に使用されるフォントのサイズに比例するようです。

FormattedText を四角形の左上隅に配置するにはどうすればよいですか?

どんな助けでも大歓迎です。

XAML

C#

0 投票する
0 に答える
70 参照

wpf - ビューモデルがビューのディスパッチャーを使用するための最良の方法は何ですか?

次のコードはビュー モデルにあります。

FormattedText を使用して表示リストを作成しています。書式設定されたテキストを作成したメソッドを終了する前に (つまり、メソッドが完了したときの通常のレンダリング メカニズムの前に)、表示がどうなるかの最終的なメトリックを取得する必要があります。私はディスパッチャーを使用してこれらの線に沿って何かを試してきましたが、最終的な測定値を取得できないようです. StringViewModel の実際のフォーマット済みテキスト ft は、ディスパッチャーの設定方法や呼び出し方法に関係なく、常に null です。ディスパッチャーがレンダリングを行う前にアクションが実行されていることを収集しています。(ネット4.0)

助けてください。これはどのように行うことができますか?どんなアイデアも素晴らしいでしょう!

文字列ビューモデル:

編集:

上記のコードはすべて、コードビハインドではなくビューモデルにあります。

ここで、ObservableCollection Strings と theView はビューへの参照であり、すべて正しく機能します。

では、ビューモデルにビューを「認識」させずに、ビューのディスパッチャを使用してレンダリングされたテキストを測定するための推奨される方法は何ですか?

0 投票する
0 に答える
85 参照

wpf - FormattedTextから大文字のXの高さだけを取得するには?

私の結論は、formattedtext オブジェクトのアセンダーの高さにアクセスできないように見えるため、これは実行できないということです。大まかな概算として、私は以下を使用しています:

より良い(より正確な)方法はありますか?どんな助けでも大歓迎です。

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

wpf - ImageでRenderTargetBitmapを使用してFormattedTextを表示するには?

Google で答えが見つかりません。

キャンバスに表示する文字列がたくさんあります。各文字列は、ItemsControl から呼び出される文字列コンバーター内で FormattedText() メソッドを使用して作成されます。

コードの問題は、各文字列の実際の幅はおよそ 700、実際の高さは 40 であるにも関わらず、すべての文字列を異なる位置に表示するには、RenderTargetBitmap() で非常に大きな幅と高さが必要になることです。ただし、RenderTargetBitmap() は、文字列だけでなく、描画コンテキストからのその文字列の位置も保持するのに十分な大きさである必要があります)。

フォーマットされたテキストだけの正しい実際の高さと幅を持つ単一のフォーマットされたテキスト文字列の画像を作成し、その画像を「左上」のポイントに正しく配置するにはどうすればよいですか?

ItemsControl から呼び出されるコンバーターは次のように定義されます。

補遺:

私はこれを書いて問題を解決しましたが、私の質問には答えません。(gt および lt 記号が削除されました)。

  1. 以下を含むように項目コントロールを変更しました。

    ItemsControl.ItemContainerStyle Style TargetType="{x:Type FrameworkElement} Setter Property="Canvas.Top" Value="{Binding topleft.Y}" Setter Property="Canvas.Left" Value="{Binding topleft.X}" セッターProperty="Height" Value="{Binding ft.Height}"

  2. コンバーターからすべてのポジショニングを削除しました。コンバーターは次のように読み取ります

    /li>
0 投票する
2 に答える
2067 参照

c# - フォーマットされたテキストの垂直方向のテキスト配置方法は?

たとえば、私のフォーマットされたテキストは

書式設定されたテキストを垂直方向の中央揃えで特定の四角形領域に揃える必要があります。

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

vba - vbaを使用して書式設定されたテキストをExcelからWordにすばやくコピーする方法

問題: Excelvba スクリプトを使用して、書式設定されたテキストを Excel から Word にコピーしたいと考えています。スクリプトは情報を忠実にコピーしますが、遅すぎます。

高速化のヒントを教えてください。

これまでの私のアプローチは、このダミードキュメントに記載されています。このスクリプトは、セル C1:C100 に書式設定されたテキストが含まれていることを前提としています。

一般情報。 書式設定されたテキスト ブロックを Word 文書にコピーする Excelvba マクロを作成しています。テキストブロックごとに 2 つのバージョンがあります。マクロは単語スタイルの変更を追跡し (削除: テキストの色の赤と取り消し線など)、結果を 3 番目の列にコピーします。この部分は魅力のように機能します。次に、3 番目の列が Word 文書にコピーされます。この部分は私のマシン (i7-3770、ssd、8 Gb RAM) では動作しますが、スクリプトを操作しなければならない貧しい魂のマシン (amd Athlon 220) では動作しません。生産サイズは 700 ~ 1000 テキストブロックで、100 ~ 1000 文字です。各。

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

python - Python で書式設定されたテキストをレンダリングします (現在は pyglet を使用)

私はpygletを使ってゲームを作っています。ある時点で、このゲームには、いくつかの「コア」RPG ルールへのゲーム内ヘルプ/参照と、説明などがあります (ゲームは Pathfinder SRD を使用します)。そのため、長い形式のテキスト (さまざまなサイズ、色など) があります。私が提供しようとしているスタイルの例 (さらにフォーマットが作成されます): ゲーム内 SRD

現在、pyglet のフォーマット済みドキュメント モデル (スタイル/フォーマット用にいくつかの Python 生成フィールドを含むプレーン テキスト) を使用しています。

  • テキストを json (クラス、レースなどの特定のキーの下)に保存すると、この 1 回限りの処理に数秒かかる場合があります。辞書内の .py の本体 (このような 5k 行) にテキストを格納する価値はありますが、そうしない理由はありますか?
  • を使用した実行時のデコードpyglet.text.decode_attributedには時間がかかります。しかし、ゲームの参照が完了するとおそらく 100 の「ページ」になることを考慮すると、実行前のデコード (辞書全体または json のデコード) には、ゲーム前にかなりの時間がかかります。では、事前にデコードするか、オン フライでデコードしますか (つまり、効率的なコードを作成しないと、一部のテキストが重複して再コード化される可能性があります)。ピグレットではスレッドは信頼できません...
  • ドキュメントのコンテンツのレンダリングとその後の切り替えには、pyglet.text.layout.ScrollableTextLayout大きなテキストのチャンクでは 1 ~ 2 秒かかります。テキストが事前にデコードされていない場合は、さらに時間がかかります。
  • または、pyglet のコンテキストでテキストをレンダリングするために使用できる他のライブラリがあるかもしれません(いくつかの調整があります)...ただし、現在の形式では、「参照」ビューまたはたとえば、ツールチップ用に少量のテキストを抽出します...
  • 最終的な考慮事項: 低スペックのマシンを対象としているため、ここではパフォーマンスが重要です。このゲームはグラフィカルなローグライク / 2D RPG であり、libtcod/curses 以上のものを必要としますが、3D グラフィックスは必要ありません。そのため、今のところ pyglet を使用しています。しかし、具体的には、フォーマットされたテキストの側面が私を悩ませています。
0 投票する
0 に答える
650 参照

c# - ジオメトリとしての文字列

stringの中に単純なものを配置しようとしていRectangleます。私はGeometryGroupその目的のために使用しています。ここに私のコードがあります:

何らかの理由で、取得しているテキストが 2 倍になっています (添付の画像を参照)。

ここに画像の説明を入力

Labelスタイルのテキストをに変換しGeometryて、 と一緒に印刷することはできませんRectangleか?