(待解壓bin文件)目錄地址讀取bin文件,分配地址空間。
[0029](2)然后通過src_bin_bytes = ftell (fpl);文件管理指令獲取fpl原始文件大小。
[0030](3)然后通過 fread(buffer + 20, src_bin_bytes, I, fpl);讀取文件 bin 文件到內(nèi)存,同時分配文件大小20個字節(jié)的內(nèi)存空間。
[0031](4)由于不需要壓縮,所以直接把文件大小的值,賦值給分配的20個字節(jié)的內(nèi)存空間。
[0032](5)再后,通過 fp2 = fopen(des_bin_path, 〃wb〃);創(chuàng)建 fp2,用來存儲生成的文件。
[0033](6)最后通過 fwrite (buffer, src_bin_bytes + 20, I, fp2);把原始 bin 文件寫到分配20字節(jié)后的內(nèi)存位置。
[0034]最終獲取未被壓縮的文件fp2,供顯示等后續(xù)功能使用。
[0035]若將bin文件進行壓縮,即
(I)首先根據(jù)src_bin (待解壓bin文件)目錄地址讀取bin文件,分配地址空間。
[0036](2)然后通過src_bin_bytes = ftell (fpl);即文件管理指令獲取fpl原始文件大小。
[0037](3)然后通過 fread(buffer + 20, src_bin_bytes, I, fpl);讀取文件 bin 文件到內(nèi)存,同時分配文件大小20個字節(jié)的內(nèi)存空間。
[0038](4)從RGBN開始位置,讀取到buffer結(jié)束,每次讀取四個字節(jié)。
[0039]if ((buffer[i] == buffer [i+4] ) & & (buffer [i + 1]==buffer[i+5])&&(buffer[i+2] == buffer[i+6])&&(buffer[i+3] == buffer[i+7]))
若條件成立,則認為相鄰兩個像素完全相同,記錄相同像素點個數(shù)conter,
以此類推,最多可以記錄256個相同像素,由于給conter分配的buffer空間為I字節(jié)(可變),因此,相同像素點的存儲空間就可以使用五個字節(jié)表示,分別是R、G、B、N、conter。
[0040](5)同時記錄下來不同像素點的個數(shù),即特征值,使用特征值以便于計算出來壓縮后文件的大小,賦值給20個字節(jié)。
[0041](6)等到文件壓縮成功后,把壓縮后文件大小的值,賦值給分配的20個字節(jié)的內(nèi)存空間,R、G、B、N相關(guān)像素數(shù)據(jù)拷貝到buffer的20個字節(jié)后面的位置。
[0042](7)把每一個不同像素按照讀取順序依次存儲在20個字節(jié)后面的位置,這樣要生成的壓縮文件對應(yīng)的內(nèi)存buffer就生成了。
[0043](8)再后通過fp2 = fopen(des_bin_path, 〃wb〃);創(chuàng)建fp2,用來存儲生成的文件。
[0044](9)最后一步,fwrite (buffer, src_bin_bytes + 20, I, fp2);把原始 bin 文件寫到分配20字節(jié)后的內(nèi)存位置。
[0045]最終得到需要的fp2壓縮文件,即壓縮的bin文件。
[0046]以上述依據(jù)本發(fā)明的理想實施例為啟示,通過上述的說明內(nèi)容,相關(guān)工作人員完全可以在不偏離本項發(fā)明技術(shù)思想的范圍內(nèi),進行多樣的變更以及修改。本項發(fā)明的技術(shù)性范圍并不局限于說明書上的內(nèi)容,必須要根據(jù)權(quán)利要求范圍來確定其技術(shù)性范圍。
【主權(quán)項】
1.一種PNG圖片格式的bin文件無損壓縮算法,其特征在于,包括: 從開始位置依次讀取bin文件的各RGBN像素點,統(tǒng)計相鄰且相同像素值的RGBN像素點的個數(shù)值,并將該相同的RGBN像素點的像素值及個數(shù)值存儲于內(nèi)存空間中,以及同時還將統(tǒng)計的不同像素值的RGBN像素點的個數(shù)值作為特征值存儲在所述內(nèi)存空間中,并在內(nèi)存空間之后依次存儲相應(yīng)不同的像素值,以構(gòu)成壓縮的bin文件。2.根據(jù)權(quán)利要求1所述的PNG圖片格式的bin文件無損壓縮算法,其特征在于, 所述步驟內(nèi)存空間的分配方法包括: 步驟SlOl,根據(jù)原始bin文件的目錄地址讀取bin文件,分配地址空間; 步驟S102,通過文件管理指令獲取原始bin文件大?。? 步驟S103,根據(jù)原始bin文件大小分配用于存放壓縮的bin文件的內(nèi)存空間。3.如權(quán)利要求2所述的PNG圖片格式的bin文件無損壓縮算法,其特征在于,所述將相同的RGBN像素點的像素值及個數(shù)值存儲于內(nèi)存空間的方法包括:用五個字節(jié)表示RGBN像素點的像素值及個數(shù)值,即R、G、B、N、conter,其中,conter表示個數(shù)值。4.一種全液晶儀表顯示系統(tǒng),其特征在于,包括:處理器模塊,與該處理器模塊相連的液晶顯示模塊,以及該處理器模塊還與flash模塊相連。5.如權(quán)利要求4所述的全液晶儀表顯示系統(tǒng),其特征在于,所述處理器模塊適于將導(dǎo)入的PNG圖片格式轉(zhuǎn)換為bin文件,再對該bin文件進行壓縮后存入所述flash模塊。6.如權(quán)利要求5所述的全液晶儀表顯示系統(tǒng),其特征在于,所述處理器模塊適于從開始位置依次讀取bin文件的各RGBN像素點,統(tǒng)計相鄰且相同像素值的RGBN像素點的個數(shù)值,并將該相同的RGBN像素點的像素值及個數(shù)值存儲于內(nèi)存空間中,以及同時還將統(tǒng)計的不同像素值的RGBN像素點的個數(shù)值作為特征值存儲在所述內(nèi)存空間中,并在內(nèi)存空間之后依次存儲相應(yīng)不同的像素值,以構(gòu)成壓縮的bin文件。
【專利摘要】本發(fā)明涉及一種PNG圖片格式的bin文件無損壓縮算法及全液晶儀表顯示系統(tǒng),本bin文件無損壓縮算法包括:從開始位置依次讀取bin文件的各RGBN像素點,統(tǒng)計相鄰且相同像素值的RGBN像素點的個數(shù)值,并將該相同的RGBN像素點的像素值及個數(shù)值存儲于內(nèi)存空間中;以及同時還將統(tǒng)計的不同像素值的RGBN像素點的個數(shù)值作為特征值存儲在所述內(nèi)存空間中,并在內(nèi)存空間之后依次存儲相應(yīng)不同的像素值,以構(gòu)成壓縮的bin文件。本發(fā)明的PNG圖片格式的bin文件無損壓縮算法及全液晶儀表顯示系統(tǒng)能實現(xiàn)無損壓縮,并且具有壓縮比高,操作簡單,壓縮速度快,解壓速度快的優(yōu)點。
【IPC分類】G06F17/30
【公開號】CN105022788
【申請?zhí)枴緾N201510345514
【發(fā)明人】汪賀
【申請人】江蘇新通達電子科技股份有限公司
【公開日】2015年11月4日
【申請日】2015年6月19日