問題タブ [fontmetrics]
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.
java - FontMetrics がガベージ フォントの降下を返す
私はEclipseで奇妙な問題に直面しており、多くの検索を行った後でも、この点に関してバグは見つかりませんでした. 私の問題は 、 FontMetrics Class の handle フィールドにあります。API はプラットフォームに依存しているため、私ができることはあまりありません。問題は次のようなものです。
draw2d ウィジェットと接続で作成されたいくつかの図を Word と PDF にエクスポートする必要があります。これまで、エクスポート機能は、ダイアグラムが描画されるエディタのツールバーへのアクションとして利用できました。それはうまくいっています。FigureCanvas を SWT 画像にペイントし、それをファイルに保存するだけです。私が利用できる API があり、それを Word/PDF に挿入します。今、私はそれをオフラインにする必要があります。つまり、実際に画面に図を描画する必要はありません。私はこれを達成するために次のようなことをしました:
これを初めて実行すると、両方の Log ステートメントが良いことを教えてくれます。
シェルサイズ::: ポイント {72, 98} シェルサイズ::: ポイント {1216, 524}
しかし、アプリケーションを閉じずに同じコードを 2 回実行すると、次のようになります。
シェルサイズ::: ポイント {72, 98} シェルサイズ::: ポイント {1216, 1945541082 }
シェルの高さの値が大きいと、すべてが台無しになります。激しいデバッグの後、私が使用している 2 回目の FlowPage が、Font の降下に対して間違った値を取得することがわかりました。メソッドFontMetrics.getDescent()はランダムな大きな値を返します。
これをどのように進めるべきか正確にはわかりません。最初に使用したすべてのリソースを破棄しました。Display、Shell、Composite、Canvas、さらには GC と SWTGraphics です。バグかどうか教えてもらえますか?そうでない場合、どうすればここで問題を見つけることができますか?
java - Java のピクセル単位の文字列の長さ
java.awt.Font
GUIコンポーネントを使用しない特定のオブジェクトを指定して、文字列の長さをピクセル単位で計算する方法はありますか?
java - テキストを描画するときにSWTテーブルはどのテキストマージンを使用しますか?
比較的簡単な質問がありましたが、答える場所がどこにも見つかりません。
アプリケーションでは、セルにテキストのみを表示する単純なSWTテーブルウィジェットを使用しています。インクリメンタルサーチ機能があり、一致する場合はすべてのセルのテキストスニペットを強調表示したいと思います。
したがって、「a」と入力するときは、すべての「a」を強調表示する必要があります。
これを取得するためにSWT.EraseItem
、背景の描画を妨げるリスナーを追加します。現在のセルのテキストに検索文字列が含まれている場合は、位置を検索し、-easyを使用してテキスト内の相対的なx座標を計算しますevent.gc.stringExtent
。
それで、私はオカレンスの「後ろ」に長方形を描くだけです。
さて、これには欠陥があります。テーブルは余白なしでテキストを描画しないので、私のx座標は実際には一致しません-それは数ピクセルだけわずかにずれています!でもいくつ?テーブル自体の図面が使用するセルのテキスト余白はどこで取得できますか?全く分からない。何も見つかりません。
ボーナスの質問:テーブルの描画メソッドもテキストを短縮し、セルに収まらない場合は「...」を追加します。うーん。私のオカレンスファインダーはTableItemのテキストを取得するため、「...」によって消費されているために実際には表示されないオカレンスにもマークを付けようとします。EraseItem描画ハンドラー内の「実際の」テキストではなく、短縮されたテキストを取得するにはどうすればよいですか?
qt - paintEventの外でQPainterのフォントメトリックを取得するには?
QPainter 外部の paintEvent 描画メソッドのフォント メトリックを取得する方法は? 画面にペイントする前にこれが必要です。
java - 画像上でテキストを右揃え
これを正しく整列させる方法は?
実際の出力
必要な出力
出力:-
java - FontMetrics が NullPointerException を生成する
Java で簿記プログラム用に作成している GUI の一部は、さまざまな文字列を表示する必要があります。この文字列を表示する前に、必要に応じて改行を追加する必要があります。これを行うために、JTextArea を拡張するクラスを作成し、setText() メソッドを次のようにオーバーライドしました。
「// Instatiate FontMetrics」の代わりに、いくつかの異なることを試しました。最初は、「new」を使用して FontMetrics オブジェクトを作成しようとしました...
...そのような方法で FontMetrics をインスタンス化できないことがわかります。getFontMetrics(font) を使用して FontMetrics オブジェクトを取得しようとしました。この質問の回答からデフォルトのスイング フォントを取得しました。
Swing JTabbedPane ラベルのデフォルトのフォントを取得するにはどうすればよいですか?
私のコードは次のようになりました:
これにより、NullPointerException がスローされました。私も試しました:
これにより、NullPointerExceptionも発生しました。おそらく、FontMetrics の使用方法を理解していません。どんな洞察も大歓迎です。
編集:さて、UIManager.getDefaults().getFont(...) を getFont() に置き換えて、上記の 2 つのスニペットをもう一度試してみました。同じ NullPointerException がスローされます。
java - JavaでのFontMetricsの代替
私のコードは非推奨のgetFontMetrics()を使用しています。代替案は何でしょうか?
助言がありますか ?
ios - 不明な NSString の CGSize の計算
最大文字数はわかっているが正確な文字列がわからない未知の文字列の CGSize を見つけるにはどうすればよいですか?
次のように NSString の「sizeWithFont」メソッドを使用して、特定の NSString のサイズを計算できることを知っています。
しかし、正確な文字列がわからず、文字列に含まれる可能性のある文字数だけがわかっている場合の方法を探しています。
java - 画面中央にテキストを描画
JFrame ウィンドウの中央にテキストを描画しようとしていますが、少しずれています。
これが私が試したことです: