主题:新手问题:点阵字模的问题
			
 skybtone
				 [专家分:160]  发布于 2006-07-13 11:01:00							
			我很少用点阵字模,但是也知道用的话会很有效果.
大哥大姐指导一下,谢谢哦![em2]
第一:它需要哪些头文件?
现在有一个"宋"字的字模:
char song16S[]={
/* 以下是 '宋' 的 16点阵宋体 字模,32 byte */
  0x02,0x00,0x01,0x00,0x7F,0xFE,0x41,0x04,
  0x81,0x08,0x01,0x00,0x7F,0xFC,0x03,0x80,
  0x05,0x80,0x05,0x40,0x09,0x20,0x11,0x10,
  0x21,0x0E,0x41,0x04,0x01,0x00,0x00,0x00,
};
怎样实现在VC里显示它?
用到哪些代码?能指点一下吗?就上面这个例子帮我写哈子代码,耽误大哥大姐一下工夫啦:)
						
					 
		
			
回复列表 (共7个回复)
		
								
				沙发
				
					
skybtone [专家分:160]  发布于 2006-07-16 14:25:00				
				/?是不是有点麻烦?
							 
						
				板凳
				
					
liangbch [专家分:1270]  发布于 2006-08-01 21:40:00				
				给你一段参考代码,以下代码摘自我的一个程序。
#define FULL_WHITE 0x00ffffff
#define FULL_BLACK 0x00000000
void CDispHZAsHZKView::OnDraw(CDC* pDC)
{
    CDispHZAsHZKDoc* pDoc = GetDocument();
    ASSERT_VALID(pDoc);
    CPoint leftTop;
    CPoint tmpPt;
    COLORREF c;
    BYTE *p;
    WORD matrix;
    WORD mask;
    int i,j;
         //p=点阵数据地址    
      //leftTop=要显示的坐标;
    for ( i=0;i<16;i++)
    {
                  matrix= p[i*2];
        matrix <<=8;
        matrix |= p[i*2+1];
        mask=0x8000;
        for (j=0;j<16;j++,mask >>= 1)
        {
            if ( !(matrix & mask) )
                c=FULL_WHITE;
            else
                c=FULL_BLACK;
            tmpPt.x=leftTop.x + j;
            tmpPt.y=leftTop.y + i;
            pDC->SetPixel(tmpPt,c);
        }
    }
}
							 
						
				3 楼
				
					
skybtone [专家分:160]  发布于 2006-08-02 21:00:00				
				俺有些看不懂,因为我学的VC,VC++还没入门~~~能换个例子么?嘿嘿
							 
						
				4 楼
				
					
liangbch [专家分:1270]  发布于 2006-08-03 11:15:00				
				没听说过 VC 和VC++还有区别,楼主能解释一下吗?你用的是那个公司的产品,版本号是多少?
							 
						
				5 楼
				
					
liangbch [专家分:1270]  发布于 2006-08-03 11:19:00				
				顺便说一下,我用的是VC++ 6.0,在这个编程环境下,可以用纯正的c语言写程序(字符界面的控制台程序和windows程序),也可以用c++写程序(字符界面的控制台程序和windows程序),既可以用MFC类库写windows程序,也可以用winAPI(不用MFC)写windows程序。
							 
						
				6 楼
				
					
skybtone [专家分:160]  发布于 2006-08-08 10:23:00				
				你说的我明白,我的意思是::,|=,CDispHZAsHZKView::OnDraw(CDC* pDC)什么意思不了解,(我用的也是VC6.0Microsoft的)
							 
						
				7 楼
				
					
liangbch [专家分:1270]  发布于 2006-08-08 22:17:00				
				sorry,我误解了你的意思。对于winAPI编程,书倒是看过,但编程经验少,手边也没有什么现成的资料,不能给提供现成的代码。不过你看来查查CreateDC,GetDC等类似的函数,将我的程序稍稍修改,应该不难的,祝你好运。
							 
									
			
我来回复