冥思苦想,如何预览truetype字体?
把它的图片形式显示出来,怎么做?不是很难的吧。。 --------------------编程问答-------------------- 取字模,然后自己画图 --------------------编程问答-------------------- 取字模==============
怎么做? --------------------编程问答-------------------- ? --------------------编程问答-------------------- 不知道你想做成什么样的,我以前做过一个选字体的列表框,显示的每个字体文字就是用它本身的字体来显示的,这样一看就知道字体是什么样子的了.只要重绘一下就可以了,不是很复杂,网上应该也搜得到的. --------------------编程问答-------------------- 楼上,可以发给我代码吗?给点提示也行。我不知道搜索的关键词是什么呢 --------------------编程问答-------------------- ? --------------------编程问答-------------------- to lz:
兄弟,问题解决了没有啊,我也遇到过这类问题,请赐教!
to 楼下的各位兄弟:
解决过类似问题的兄弟,留个实现思路吧! --------------------编程问答-------------------- 是B/S还是C/S
CS取字体的名字直接用GDI+花就可以了。 --------------------编程问答-------------------- CS取字体的名字直接用GDI+花就可以了。
==============
详细点可好? --------------------编程问答-------------------- GDI+ 画出文字
主要用DrawString()方法 --------------------编程问答-------------------- 楼上各位参与讨论的兄弟:
似乎没有弄清楚楼住的问题或者把这个问题想简单了:画文字,用GDI+的drawstring再简单不过,但问题是画字体库里的要素,这些每个字体库里有成百上千的要素(暂且说他是string类型吧),如何获取?
好像用Font,FontFamily等类都不能解决这个问题,看来可能要用api,或者vc了! --------------------编程问答-------------------- 晕晕。。。。还是给你代码吧。。。 --------------------编程问答-------------------- using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Threading;
namespace WindowsApplication2
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Paint(object sender, PaintEventArgs e)
{
e.Graphics.DrawString("123456", new Font("宋体", 18), new SolidBrush(this.ForeColor), new PointF(10, 10));
}
}
} --------------------编程问答-------------------- to zhiang75(zhiang75) :
兄弟,你还是没有看明白阿!再解释一遍!
“ e.Graphics.DrawString("123456", new Font("宋体", 18), new SolidBrush(this.ForeColor), new PointF(10, 10));”
这个语句中你默认画了字符串("123456"),问题在于每个truetype字库有哪些字符?
你知道吗?! 不知道如何去画? 你解决了画的问题,而这个却不是楼主的问题!
问题在于库里有哪些字符串? --------------------编程问答-------------------- 我同意LZ的说法,对于计算机而言,人可以识别的字符在.NET是用UINT16表示的,比如'1'的值就是OX31 当然不同的字体可以在此位置替换为不同的图形,比如Wingdings 2字体中人看这个字符就无论如何也想不到是1,但是计算机还是把它当作1的.
e.Graphics.DrawString("123456", new Font("Wingdings 2", 18), new SolidBrush(this.ForeColor), new PointF(10, 10));”
这个代码你运行一下看看显示的是什么?绝对不是123456,不知道LZ究竟想要什么.LZ可以看看字符映射表程序,看看那个效果是LZ想要的吗?
--------------------编程问答-------------------- 关于字体的字符集范围 可以看一下Font.GdiCharSet 属性,比如西文和中文字体,它的值是不一样的. --------------------编程问答-------------------- 同样的问题。baidu里的api也不行。
to:zhiang75
所有字体似乎都只返回1啊 --------------------编程问答-------------------- 你的意思是获取CharMap里面的字符??
这个没弄过
看看这个吧
http://support.microsoft.com/kb/241020/zh-cn --------------------编程问答-------------------- ? --------------------编程问答-------------------- 我一直都想知道字体是怎样造出来的,哪为高手解答一下! --------------------编程问答-------------------- ?
补充:.NET技术 , C#