qwermhb 发表于 2012-10-26 13:08:41

12864 st7920 任意位置画矩形图片

本帖最后由 qwermhb 于 2012-10-26 21:55 编辑

//任意位置画任意矩形图片
//addx(0-127)addy(0-63)
//sizex(1-128)必须是8的倍数
//sizey(1-64)
//draw_sizex(1-sizex)真正画出来的X轴长度
void Draw_xy_pic(u8 addx,u8 addy,u8 sizex,u8 sizey,u8 draw_sizex,u8 *data)
{        u8 i,j,k,clour,byte,x=draw_sizex%8,inc=((sizex-draw_sizex)/8+1);
        for(j=0;j<=sizey-1;j++)
        {        byte=draw_sizex/8;
                for(i=0;i<=draw_sizex-1;i++)
                {       
                        k=i%8;
                        clour=((*data)&(BIT(7-k)))>>(7-k);
                        Draw_point(addx+i,addy+j,clour);
                        if(k==7)
                        {
                                if(x==0&&byte>1)
                                {
                                       
                                        data++;
                                }
                               
                               
                                else if(x!=0&&byte>0)
                                {data++;}
                                byte--;
                        }
                }data=data+inc;;
        }
}
页: [1]
查看完整版本: 12864 st7920 任意位置画矩形图片