中文字幕第五页-中文字幕第页-中文字幕韩国-中文字幕最新-国产尤物二区三区在线观看-国产尤物福利视频一区二区

在EssentialStudioforWinForms應用程序中使用圖標字體

圖標字體包含符號而不是數字和字母。在Web技術中,與其他圖像格式相比,圖標字體占主導地位。由于它們是矢量圖形,體積小、易于裝載,因此用戶可以在不降低質量的情況下上下縮放。但唯一的限制就是單個圖標只能用一種顏色繪制。

目前創新互聯公司已為上千多家的企業提供了網站建設、域名、網頁空間、成都網站托管、企業網站設計、長樂網站維護等服務,公司將堅持客戶導向、應用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協力一起成長,共同發展。

相信每一位小伙伴都會經常都有這樣的疑問:可以在桌面應用程序Essential Studio for Windows Forms中使用圖標字體嗎?答案是肯定的!本文就為你講解具體的操作方法。

首先,請記住,在DPI的情況下,我們只需要改變字體大小,不需要為不同的DPI縮放維護不同大小的圖像。

如何添加和繪制圖標字體

系統中通常可用的字體(如Arial、Times New Roman)可能沒有我們需要在應用程序中使用的圖標,但有許多支持創建圖標字體的在線和離線應用程序。Syncfusion就免費提供了一個名為Metro Studio的離線工具。

為了演示,我們創建了一個.ttf文件,其中包含一個名為“WF Fabric”的字體系列。結果圖標如下圖所示。

在Essential Studio for WinForms應用程序中使用圖標字體

△ 來自WF Fabric.ttf文件的圖標字體

*注意:上圖中顯示的Unicode(e700,e701等)表示在應用程序中繪制時的相應字形。

在WinForms應用程序中包含WF Fabric.ttf文件,并在屬性對話框中將其Build Action標記為Embedded Resource。

在Essential Studio for WinForms應用程序中使用圖標字體

△ WF Fabric.ttf文件標記為嵌入式資源

在表單初始化期間,包括在系統內存中注冊圖標字體的代碼。與其他字體(Arial、Times New Roman等)一樣,WF Fabric也將在控制面板\所有控制面板項\字體的系統內存中注冊。

public?Form1()<font></font>
{<font></font>
????InitializeComponent();<font></font>
????this.Paint?+=?Form1_Paint;<font></font>
}<font></font>
<font></font>
private?void?Form1_Paint(object?sender,?PaintEventArgs?e)<font></font>
{<font></font>
????PrivateFontCollection?pfc?=?new?PrivateFontCollection();<font></font>
????//Extracting?icon?fonts?from?the?WF?Fabric.ttf?file?and?adding?into?system?memory.<font></font>
????Stream?fontAsStream?=?this.GetType().Assembly.GetManifestResourceStream("WindowsFormsApp1.WF?Fabric.ttf");<font></font>
????byte[]?fontAsByte?=?new?byte[fontAsStream.Length];<font></font>
????fontAsStream.Read(fontAsByte,?0,?(int)fontAsStream.Length);<font></font>
????fontAsStream.Close();<font></font>
????IntPtr?memPointer?=?System.Runtime.InteropServices.Marshal.AllocHGlobal(System.Runtime.InteropServices.Marshal.SizeOf(typeof(byte))?*?fontAsByte.Length);<font></font>
????System.Runtime.InteropServices.Marshal.Copy(fontAsByte,?0,?memPointer,?fontAsByte.Length);<font></font>
????pfc.AddMemoryFont(memPointer,?fontAsByte.Length);<font></font>
}<font></font>

著至關重要的作用。pfc對象中的Families屬性將保存已保存的字體系列名稱。如上所述,我們創建了WF Fabric.ttf,其字體系列名稱為WF Fabric。下載Essential Studio for Windows Forms最新版

現在創建一個枚舉,其中包含具有相應名稱的所有圖標字體,并為其Unicode指定前綴0x。因此,無論您使用圖標字體繪制何處,Unicode都將轉換為字符串并作為參數傳遞給DrawString方法。

public?partial?class?Form1?:?Form<font></font>
{<font></font>
????public?Form1()<font></font>
????{<font></font>
????????InitializeComponent();<font></font>
????????this.Paint?+=?Form1_Paint;<font></font>
????}<font></font>
<font></font>
????private?void?Form1_Paint(object?sender,?PaintEventArgs?e)<font></font>
????{<font></font>
????????PrivateFontCollection?pfc?=?new?PrivateFontCollection();<font></font>
????????//Extracting?icon?fonts?from?the?WF?Fabric.ttf?file?and?inserting?into?system?memory.<font></font>
????????Stream?fontAsStream?=?this.GetType().Assembly.GetManifestResourceStream("WindowsFormsApp1.WF?Fabric.ttf");<font></font>
????????byte[]?fontAsByte?=?new?byte[fontAsStream.Length];<font></font>
????????fontAsStream.Read(fontAsByte,?0,?(int)fontAsStream.Length);<font></font>
????????fontAsStream.Close();<font></font>
????????IntPtr?memPointer?=?System.Runtime.InteropServices.Marshal.AllocHGlobal(System.Runtime.InteropServices.Marshal.SizeOf(typeof(byte))?*?fontAsByte.Length);<font></font>
????????System.Runtime.InteropServices.Marshal.Copy(fontAsByte,?0,?memPointer,?fontAsByte.Length);<font></font>
????????pfc.AddMemoryFont(memPointer,?fontAsByte.Length);<font></font>
<font></font>
????????//Icon?font's?unicode?"0xe700"?is?converted?to?string?and?drawn?using?e.Graphics?with?WF?Fabric?set?as?font?family.?<font></font>
????????string?iconChar?=?char.ConvertFromUtf32(IconFont.LastArrow);<font></font>
????????Font?iconFont?=?new?Font(pfc.Families[0],?18.5f,?FontStyle.Bold);<font></font>
????????e.Graphics.DrawString(iconChar,?iconFont,?new?SolidBrush(Color.Orange),?new?PointF(10,?10));<font></font>
<font></font>
????????//Icon?font's?unicode?"0xe710"?is?converted?to?string?and?drawn?using?e.Graphics?with?WF?Fabric?set?as?font?family.<font></font>
????????iconChar?=?char.ConvertFromUtf32(IconFont.Plus);<font></font>
????????e.Graphics.DrawString(iconChar,?iconFont,?new?SolidBrush(Color.Red),?new?PointF(40,?40));<font></font>
<font></font>
????????//Icon?font's?unicode?"0xe720"?is?converted?to?string?and?drawn?using?e.Graphics?with?WF?Fabric?set?as?font?family.<font></font>
????????iconChar?=?char.ConvertFromUtf32(IconFont.Paint);<font></font>
????????e.Graphics.DrawString(iconChar,?iconFont,?new?SolidBrush(Color.Green),?new?PointF(70,?70));<font></font>
????}<font></font>
}<font></font>
<font></font>
public?static?class?IconFont<font></font>
{<font></font>
????//0xe700,?0xe710,?0xe720?-?are?icon?font's?unicode?from?the?WF?Fabric.ttf?file.<font></font>
????public?static?int?LastArrow?=?0xe700;<font></font>
????public?static?int?Plus?=?0xe710;<font></font>
????public?static?int?Paint?=?0xe720;<font></font>
}<font></font>

現在是在實際場景中應用圖標字體的時候了。我們準備了一個簡單的演示,它顯示了在自定義按鈕控件上繪制的第一頁、最后一頁、上一頁和下一頁的導航圖標。

參考示例:使用圖標字體在WinForms按鈕控件上呈現圖標

在Essential Studio for WinForms應用程序中使用圖標字體

△ 自定義按鈕控制與圖標字體和文本繪制在里面

使用圖標字體的優點是:

  • 改進了所有字體大小的渲染質量;

  • 通過改變顏色為不同的主題和皮膚重用單個圖標字體;

  • 通過不必相對于DPI縮放維持不同的圖像大小來減小應用程序大小;

  • 添加多個圖標字體以及用字母、數字和符號連接圖標字體。

當前標題:在EssentialStudioforWinForms應用程序中使用圖標字體
本文路徑:http://www.2m8n56k.cn/article6/psheig.html

成都網站建設公司_創新互聯,為您提供網站改版網站排名網站設計App設計軟件開發營銷型網站建設

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:[email protected]。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

h5響應式網站建設
主站蜘蛛池模板: 中国一级毛片录像 | 最新国产美女一区二区三区 | 日韩欧美国产另类 | 欧美成人精品福利在线视频 | 一本色道久久88加勒比—综合 | www三级免费| 成人黄色在线视频 | 色偷偷亚洲女人天堂观看欧 | 久久久久综合给合狠狠狠 | a级特黄毛片免费观看 | 免费一级毛片在线播放视频 | 亚洲日韩精品欧美一区二区 | 免费毛片a线观看 | 久久的精品99精品66 | 一区二区在线播放福利视频 | 中文字幕一区二区三区在线观看 | 免费午夜扒丝袜www在线看 | 久久久久国产精品免费免费 | www.亚洲视频 | 精品国产成人a在线观看 | 国产成人精品福利网站在线观看 | 亚洲视频日韩 | 成人午夜大片免费看爽爽爽 | 免费看欧美一级特黄a大片一 | 特黄特a级特别特级特毛片 特黄特黄 | 欧美黄视频在线观看 | 日韩一区二区在线视频 | 国产欧美一区二区三区视频在线观看 | 91香焦国产线观看看免费 | 成人在免费观看视频国产 | 国产精品拍拍拍福利在线观看 | 国产精品午夜性视频 | 久热免费在线观看 | 六月丁香婷婷色狠狠久久 | aaa在线观看高清免费 | 欧美一区a | 一区二区三区不卡在线 | 小屁孩cao大人免费网站 | 欧美自拍另类 | 美女一级毛片免费观看 | 成人在线观看国产 |