资源简介
直接读取ttc、oft、ttf格式的字库,显示出来。
本例字库在bin文件夹里面,字库网上很多,自行下载。
static class NativeMethods { const string GDI32 = "gdi32.dll"; const string USER32 = "user32.dll"; struct Rect { public long Left, Top, Right, Bottom; public Rect (Rectangle rect) { this.Left = rect.Left; this.Top = rect.Top; this.Right = rect.Right; this.Bottom = rect.Bottom; } } static uint ToGdiColor (Color color) { return (uint)(color.R | color.G << 8 | color.B << 16); } [DllImport (GDI32)] internal static extern IntPtr CreateFont ( int nHeight, int nWidth, int nEscapement, int nOrientation, int fnWeight, uint fdwItalic, uint fdwUnderline, uint fdwStrikeOut, uint fdwCharSet, uint fdwOutputPrecision, uint fdwClipPrecision, uint fdwQuality, uint fdwPitchAndFamily, string lpszFace ); [DllImport (GDI32)] internal static extern IntPtr SelectObject (HandleRef hdc, IntPtr obj); [DllImport (GDI32)] internal static extern bool DeleteObject (HandleRef obj); [DllImport (USER32, CharSet = CharSet.Auto)] static extern int DrawText (HandleRef hDC, string lpchText, int nCount, ref Rect lpRect, uint uFormat); internal static int DrawText (HandleRef hDC, string text, Rectangle rect, uint format) { var r = new Rect (rect); return DrawText (hDC, text, text.Length, ref r, format); } [DllImport (GDI32)] static extern uint SetTextColor (HandleRef hdc, uint crColor); internal static uint SetTextColor (HandleRef hdc, Color color) { return SetTextColor (hdc, ToGdiColor (color)); } [DllImport (GDI32)] internal static extern uint SetBkMode (HandleRef hdc, int mode); }
代码片段和文件信息
using System;
using System.Drawing;
using System.Runtime.InteropServices;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1 () {
InitializeComponent ();
}
public static void RenderText (IDeviceContext hdc string text string fontFamily Color color Rectangle region int size)
{
var h = new HandleRef (null hdc.GetHdc ());
var p = new HandleRef (null NativeMethods.CreateFont (size 0 0 0 0 0 0 0 1/*Ansi_encoding*/ 0 0 4 0 fontFamily));
try {
NativeMethods.Selectobject (h p.Handle);
NativeMethods.SetBkMode (h 1);
NativeMethods.SetTextColor (h color);
NativeMethods.DrawText (h text region 0x0100);
}
finally {
NativeMethods.DeleteO
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
..A..H. 30208 2017-05-03 13:08 UserFONT\.vs\GdiTextRendererDemo\v14\.suo
文件 69 2017-04-28 13:09 UserFONT\app.config
文件 12800 2017-05-03 13:08 UserFONT\bin\Debug\GdiTextRendererDemo.exe
文件 69 2017-04-28 13:09 UserFONT\bin\Debug\GdiTextRendererDemo.exe.config
文件 22016 2017-05-03 13:08 UserFONT\bin\Debug\GdiTextRendererDemo.pdb
文件 21680 2017-05-03 13:08 UserFONT\bin\Debug\GdiTextRendererDemo.vshost.exe
文件 69 2017-04-28 13:09 UserFONT\bin\Debug\GdiTextRendererDemo.vshost.exe.config
文件 490 2016-07-16 19:44 UserFONT\bin\Debug\GdiTextRendererDemo.vshost.exe.manifest
文件 6589188 2007-11-30 12:47 UserFONT\bin\Debug\琉丽字体.ttc
文件 3410628 2012-08-28 09:27 UserFONT\bin\Debug\白舟侍書体.ttf
文件 7347872 2012-11-13 21:55 UserFONT\bin\Debug\良怀行书.otf
文件 4177 2017-05-03 13:06 UserFONT\Form1.cs
文件 6981 2017-05-03 11:23 UserFONT\Form1.Designer.cs
文件 5814 2017-05-03 11:23 UserFONT\Form1.resx
文件 3472 2017-04-28 13:09 UserFONT\GdiTextRendererDemo.csproj
文件 1840 2017-04-28 13:09 UserFONT\GdiTextRendererDemo.sln
文件 374 2013-03-06 17:17 UserFONT\Program.cs
文件 1392 2013-03-06 14:52 UserFONT\Properties\AssemblyInfo.cs
文件 2888 2017-04-28 13:09 UserFONT\Properties\Resources.Designer.cs
文件 5612 2013-03-06 14:52 UserFONT\Properties\Resources.resx
文件 1124 2017-04-28 13:09 UserFONT\Properties\Settings.Designer.cs
文件 249 2013-03-06 14:52 UserFONT\Properties\Settings.settings
目录 0 2017-05-02 14:05 UserFONT\.vs\GdiTextRendererDemo\v14
目录 0 2017-05-02 13:59 UserFONT\.vs\GdiTextRendererDemo
目录 0 2017-05-03 13:08 UserFONT\bin\Debug
目录 0 2017-04-28 13:09 UserFONT\bin\Release
目录 0 2017-05-03 13:09 UserFONT\obj\Debug
...D.H. 0 2017-05-02 13:59 UserFONT\.vs
目录 0 2017-05-02 13:58 UserFONT\bin
目录 0 2017-05-02 13:58 UserFONT\obj
............此处省略5个文件信息
相关资源
- ASP.NET MVC5考试_管理系统源码
- c#入门经典 第七版 中文版 非扫描版
- .netc#新手菜鸟mvc5的仓库管理系统 so
- dc竞赛房租处理数据
- 基恩士PLC通讯.rar
- C# NPOI生成word插入图片和表格
- C#程序设计基础C#程序设计及应用教程
- 深入.NET平台和C#编程
- .net 美萍超市管理系统源码C#
- 第二代Kinect WPF开发从入门到精通资料
- WinForm GeckoFx33 Demo JS与C#互交 窗口浏览
- 《ASP.NET程序设计项目教程》周虎,王
- [精通ASP.NET.MVC5英文原版
- Focas V4.0 带说明
- 计算机图形学 三维模型处理算法初步
- C# KTV 点歌系统,C#项目源码带数据库
- C#实验--A.1 视频动态绘制练习.
- c#实现动态规划法——求解矩阵连乘问
- c#winform中完美代替WebBrowser最新的控件
- 最新 Ext甘特图控件 + Ext日程控件 破解
- C#高级编程第9版:C#5.0 & .NET 4.5.1 par
- ASP.NET WebAPI+mvc4.0+EasyUI快速开发框架
- Illustrated C# 2010 C# 4.0图解教程
- Codejock Xtreme Suite Pro ActiveX 15.3.1 零售版
- C# WINFORM框架源碼
- C# WinForm实践开发教程清晰版
- 3D打印机上位机源码Reprap Host 是C#写的
- C#设计模式+源码JamesW.Cooper.zip
- C#程序开发范例宝典(第3版).(配套
- asp.net mvc 网上书店系统
评论
共有 条评论