VB.NETコードを使用して、ラベルのテキストをストレッチしてラベルの幅に合わせたい。これはWPFアプリケーションにあります。
私は次のようにフォントサイズのみを変更するなど、さまざまな方法を試しました。
scale = 0.25
lbl.FontSize = l.Width * scale
この方法の問題は、すべてのラベルで高さを同じに保つ必要があることです。0.25は、4文字の文字列に対してほぼ正しい塗りつぶしを与える推測でした。
フォントサイズを少しずつ変更し、文字列の幅をラベルの幅と収まるまで比較する再帰的な方法を試しました。
変換も考慮され、それは良い賭けのように見えます:
w = lbl.Width
scale = lbl.content.length/100
lbl.LayoutTransform = New System.Windows.Media.ScaleTransform(w * scale, 1)
これは私の高さの問題を解決しますが、それがある程度機能するまで、変換の要因を推測する必要があります。また、引き伸ばされたテキストは品質を失い、予想どおりに歪んでしまいます。
テキストが変換されたときの歪みの影響を減らす方法はありますか?おそらく、変換後に他のフォントよりもよく表示されるフォントがありますか?