我想在屏幕上显示16*24的汉字,现在手中的字库是16*16,24*24…难道要自己做一个16*24的字库?
谁能给我点提示,有什么好方法来实现,谢谢了!!!

解决方案 »

  1.   


    应该是点阵字库吧,估计不是在Windows窗体上显示汉字。
    可以直接使用24×24的字库,在显示的时候将x轴的点阵信息抽取16个来显示。
      

  2.   


    确实不是在PC Windows窗口上显示,x轴抽点不知效果会不会很差!我查了很多这方面的资料,发现有些软件能支持输出任意格式的汉字点阵(16*24,24*32等等),请教一下这些软件实现的原理是怎样的?
      

  3.   


    谢谢
    一般情况下,得到区码、位码后对应到16*16点阵字库内即可输出!
    现在关键我想了解怎样才能做出来一个16*24的点阵字库呢!?Graphics?
    怎么来指定宽和高啊,请教……
      

  4.   


    如果我现在不需要再按区位码组合起来(就是不需要那么多的汉字和符号,只需要给定的一些汉字即可),用什么方法提取每一个16*24的汉字的点阵值,以HEX形式存储(0为空1为点)呢?能详细说明一下步骤2如何来实现吗?谢谢我目前构想是:
    1.先把需要输出的汉字以TXT文本准备好
    2.提取TXT文本内每一个汉字的点阵值(16*24格式的点阵)
    3.以HEX形式把以上点阵值按顺序保存
      

  5.   

    LZ是要自己做一个16*24的点阵字库自己在其它地方使用是吗?
    我以前做过一些DOS下的程序,把程序所用到的汉字从Windows系统中提取点阵信息附带在程序里面,程序运行时自己通过画点的形式显示汉字。
    大概做法就是先做一个Windows下提取点阵的工具,逐一输出所要的汉字,每个汉字输出后再取各个像素判断颜色,生成点阵信息(就是前面说的48字节),然后保存到文件。文件中每个汉字先保存2字节的区位码,再保存48字节的点阵信息,所有汉字逐一排放。在使用时,将所有汉字信息放在内存中,对于所需汉字数量较少时,可以逐一对比区位码来查找;数量较多时,可以利用哈希码来查找;如果数量很多,就需要按照区域码组合了。
      

  6.   

    "Windows下提取点阵的工具"这个工具如何来实现?
    在VC++ 6.0环境下,如何把一个字打到图片(16*24)上?以图片的形式显示,然后对单色位图进行0,1的判断,保存数据.你说的是这个意思吗?
    图片处理不是很了解,用什么类,怎样来实现?谁能告诉我啊,最好能有个简单的构架!谢谢了……
      

  7.   

    简单点说,创建一个对话框项目,设置所需要的字体,在某个事件(例如按下按钮)响应函数中,用GetDC获得DC指针,然后循环,用dc->TextOut输出文字,再执行一个双重循环,用dc->GetPixel逐个读取像素,判断像素的颜色值,把点阵中对应的位置0或1。这种处理方式运行速度慢一些,不过既然只是一个工具,能达到目的就够了。
      

  8.   

    在MSDN中查一下CFont::CreateFont、CFont::CreateFontIndirect、CWnd::SetFont、CDC::TextOut、CDC::GetPixel这几个函数。
    我说的方法是把文字显示在窗口上,如果用图片要麻烦一些。
      

  9.   

    在dialog上显示汉字,然后扫描点阵,拼起来就可以了。