单行文字压缩处理(要指定字体)
生活随笔
收集整理的這篇文章主要介紹了
单行文字压缩处理(要指定字体)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
代碼 ????????///?<summary>
????????///?單行文字壓縮處理
?????????///?</summary>
????????///?<param?name="txt">單行文字</param>
????????///?<param?name="dL">需要壓到的長度</param>
????????public?static?void?RarDBText(Database?db,?DBText?txt,?double?dL)
????????{
????????????if?(txt.TextString.Equals(""))?return;
????????????txt.TextStyle?=?db.Textstyle;?//因為不同的字體它的范圍不同,如果沒有此句,將默認為gbig字體,將出現偏差
????????????double?ange?=?txt.Rotation;
????????????TextHorizontalMode?horM?=?txt.HorizontalMode;
????????????txt.Rotation?=?0;
????????????txt.HorizontalMode?=?TextHorizontalMode.TextLeft;
????????????double?xL?=?txt.GeometricExtents.MaxPoint.X?-?txt.Position.X;
????????????if?(xL?>?dL)
????????????{
????????????????txt.WidthFactor?=?txt.WidthFactor?*?(dL?/?xL);
????????????}
????????????//還原
????????????txt.Rotation?=?ange;
????????????txt.HorizontalMode?=?horM;
????????}
????????///?單行文字壓縮處理
?????????///?</summary>
????????///?<param?name="txt">單行文字</param>
????????///?<param?name="dL">需要壓到的長度</param>
????????public?static?void?RarDBText(Database?db,?DBText?txt,?double?dL)
????????{
????????????if?(txt.TextString.Equals(""))?return;
????????????txt.TextStyle?=?db.Textstyle;?//因為不同的字體它的范圍不同,如果沒有此句,將默認為gbig字體,將出現偏差
????????????double?ange?=?txt.Rotation;
????????????TextHorizontalMode?horM?=?txt.HorizontalMode;
????????????txt.Rotation?=?0;
????????????txt.HorizontalMode?=?TextHorizontalMode.TextLeft;
????????????double?xL?=?txt.GeometricExtents.MaxPoint.X?-?txt.Position.X;
????????????if?(xL?>?dL)
????????????{
????????????????txt.WidthFactor?=?txt.WidthFactor?*?(dL?/?xL);
????????????}
????????????//還原
????????????txt.Rotation?=?ange;
????????????txt.HorizontalMode?=?horM;
????????}
?
轉載于:https://www.cnblogs.com/houlinbo/archive/2010/04/13/1711255.html
總結
以上是生活随笔為你收集整理的单行文字压缩处理(要指定字体)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 我的Oracle 9i学习日志(20)-
- 下一篇: 试用版office 2010中提示Err