新聞中心

        EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 自制漢字取模軟件,學(xué)嵌入式的要看

        自制漢字取模軟件,學(xué)嵌入式的要看

        作者: 時(shí)間:2012-08-10 來(lái)源:網(wǎng)絡(luò) 收藏


        for (int j=0 ;j32;j+=2)
        {
        // char 轉(zhuǎn)換成二進(jìn)制輸出
        for(int t = 7;t>=0;t--)
        {
        if((data[j]>>t)1)
        printf("%d ",(data[j]>>t)1);
        else
        printf(" ",(data[j]>>t)1);
        }

        for(int t = 7;t>=0;t--)
        {
        if((data[j+1]>>t)1)
        printf("%d ",(data[j+1]>>t)1);
        else
        printf(" ",(data[j+1]>>t)1);
        }
        coutendl;
        }
        }
        getchar();
        }

        //返回數(shù)組
        void getCode(unsigned char str[],unsigned char data[]){

        char font_file_name[] = "HZK16"; // 字庫(kù)文件名
        int font_width = 16; // 單字寬度
        int font_height = 16; // 單字高度
        int start_offset = 0; // 偏移
        long offset;

        FILE *fp;
        fp = fopen(font_file_name, "rb");
        int offset_size = font_width * font_height / 8;
        int string_size = font_width * font_height;
        int i=0;
        if (str[i] > 160)
        {
        // 先求,然后再計(jì)算其在二維表中的位置,進(jìn)而得出此字符在文件中的偏移
        offset = ((str[i] - 0xa1) * 94 + str[i+1] - 0xa1) * offset_size;
        i++;
        }
        else
        {
        offset = (str[i] + 156 - 1) * offset_size;
        }
        // 讀取其數(shù)據(jù)
        fseek(fp, start_offset + offset, SEEK_SET);
        fread(data,sizeof(char), offset_size,fp);
        fclose(fp);
        }


        上一頁(yè) 1 2 下一頁(yè)

        評(píng)論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 陆川县| 伊川县| 连城县| 德安县| 石首市| 邯郸市| 富顺县| 外汇| 新郑市| 江川县| 兴隆县| 龙江县| 南安市| 永新县| 信阳市| 贵定县| 辰溪县| 吴旗县| 石景山区| 汉沽区| 治多县| 武宣县| 利津县| 闵行区| 都兰县| 罗江县| 德惠市| 科尔| 平度市| 柳河县| 夏河县| 桂林市| 青河县| 荔浦县| 宝坻区| 浮梁县| 罗山县| 怀化市| 荣昌县| 昭觉县| 弥勒县|