我要做一个生成维语图章的功能(文字要环绕)
维语的特点是有的字非常宽(也是有几个字根拼再一起的),所以环绕的时候就要把一个字弄弯
这时我就想到,把字的每个字符取出来计算单独计算位置,让他有扇面的效果
可是不行,因为维语的一个字符对应的字模,和这个字符在一个字里对应得字模是不同的,简单地说就是不能拆开处理,而且大家可以看看人民币上的维语,每个字都是一串一串连在一起的
大家看看有没有什么办法呢??
维语的特点是有的字非常宽(也是有几个字根拼再一起的),所以环绕的时候就要把一个字弄弯
这时我就想到,把字的每个字符取出来计算单独计算位置,让他有扇面的效果
可是不行,因为维语的一个字符对应的字模,和这个字符在一个字里对应得字模是不同的,简单地说就是不能拆开处理,而且大家可以看看人民币上的维语,每个字都是一串一串连在一起的
大家看看有没有什么办法呢??
解决方案 »
- 关于列表控件的一些问题
- 100分求助~~一个MFC界面问题(高手请入)
- 做个流媒体播放器!急~~~~
- 问题
- 问几个C++基础问题!
- 我使用GetItemRect怎么得不到listctrl的矩形值,急死了
- 怎么用VC的单步调试功能进入窗口过程?
- 用300分求助一个问题,该问题我在论坛上求助三次都没有得到很彻底的解决,希望这次可以~!·1
- 用CSocket进行编程的时候,用文档/视图方式,为什么一些自定义函数可以随便放在不同的类中?!详细请看帖子!!!
- UTF-8编码的字符串怎么在CEdit显示出来?
- 请问怎样在VC++中将整型数据转换成字符串
- 如何修改注册表,使IE地址栏消失或者出现(或新toolbar)
用GDI模拟一下
全TM是图片
都是画上去的
用一下双缓存就OK了
现学恐怕来不及,找了大堆例子没有适合我的
郁闷!
VERIFY(font.CreateFont(
12, // nHeight
0, // nWidth
0, // nEscapement
0, // nOrientation
FW_NORMAL, // nWeight
FALSE, // bItalic
FALSE, // bUnderline
0, // cStrikeOut
DEFAULT_CHARSET, // nCharSet
OUT_DEFAULT_PRECIS, // nOutPrecision
CLIP_DEFAULT_PRECIS, // nClipPrecision
DEFAULT_QUALITY, // nQuality
DEFAULT_PITCH | FF_SWISS, // nPitchAndFamily
"Webdings")); // lpszFacename
// Do something with the font just created...
CClientDC dc(this);
CFont* def_font = dc.SelectObject(&font);
//dc.GetGlyphOutline() dc.SelectObject(def_font);
GetGlyphOutline()可以得到一个字符的轮廓,你把这个轮廓保存成一个路径,然后再对这个路径进行几何变换,然后再把这个路径填充即可
使用GB18030编码给你个网站:
http://www.uighurlinux.org/ 维文编码标准化信息通过维文可以看出GB18030可以处理中国的少数民族字符了
维语的单个可分割的字块有多少
他是类似汉语还是英语
如果是类似英语
用静态的应该会简单一些
为每一个字符准备N种[不要太多]角度的图形
将这些所有的图形全都放在一张大图片中
到时候根据角度和编码
进行BitBlt就可以了如果数量超出范围的话那好像也只能用 薄荷 的路径法了
英语没个字母形态都是一定的,维语字符显示的样子跟上下文有关
跟汉语也不一样,汉语可以用settextextern 设置字间距,维语如果一设置,字形就分开了,这个在书写中是不允许的,也就是错误了
所以