2016-10-27 6 views
0

私はC#を使用して特定の形式のテキストを書いています。私の問題は、フォントのサイズを編集するときに、フォントの高さを変更したいだけで、幅と高さの両方が変化していることです。system.drawings.fontでフォントの高さを設定するにはどうすればよいですか?

マイコード:

using (Graphics graphics = Graphics.FromImage(bitmap)) 
{ 
    using (System.Drawing.Font romanfont = new System.Drawing.Font("Times New Roman",11, FontStyle.Bold)) 
    //using (System.Drawing.Font romanfont = new System.Drawing.Font("Times New Roman", 11, FontStyle.Bold)) 
    { 
     SolidBrush transBrush = new SolidBrush(Color.FromArgb(65, 79, 79)); 
     StringFormat format = new StringFormat(StringFormatFlags.DirectionRightToLeft); 

     graphics.DrawString(firstname, romanfont, transBrush, firstnameLocation, format); 
     graphics.DrawString(secondname, romanfont, transBrush, secondnameLocation, format); 
     graphics.DrawString(finalfirstadd, romanfont, transBrush, firstaddresslocation, format); 
     graphics.DrawString(finalsecondadd, romanfont, transBrush, secondaddresslocation, format); 
    } 
} 

答えて

0

あなたはGraphicsオブジェクトに変換を設定することによって、この効果を実現することができます。あなたが二倍の高さが、それでも同じ幅のテキストを作成したい場合は

たとえば、あなたがこれを行うことができます。

graphics.scaleTransform(1, 2); 

あなたはどこでも、あなたの文字列を描く場所の上にこれを入れてしまうでしょう。この変更によってすべてが2倍になりますので、矩形の位置とサイズを調整する必要があります(firstnameLocationなど)。この場合は、矩形の上部と高さを2で割ったほうがよいでしょう。

+0

他に解決策はありません – Lupindo

関連する問題