📄 main.cpp
字号:
#include "Compress.h"
#include <cstdio>
#include <cstdlib>
#include <iostream.h>
#include <fstream.h>
void main()
{
DCHufIndex=0;
ACHufIndex=1; //初始化变量值
int i, j, k=0;
int judge;
//unsigned char IZZ[64]; 用来存放Huffman解码后的64字节的数据
char filename[100];
char data[65536];
cout <<"输入要压缩的文件名";
cin >> filename;
outfile = fopen("Compressed.dat","wb");
if(!outfile)
{
cout << "不能打开目的文件Compressed.dat \n ";
exit(1);
}
//读入图像原始数据256*256,至initdata[256][256]中;
FILE * infile;
infile = fopen(filename,"rb");
if (!infile)
{
cout << "不能打开待压缩文件:" << "filename" << '\n';
exit (1);
}
fread(data,1,65536,infile);
fclose(infile);
for(i=0; i<256; i++)
for(j=0; j<256; j++)
{
initdata[i][j]= data[k];
k++;
}
//初始化Huffman表
MakeHufTable();
//编码过程
for(subi=0; subi<32; subi++)
{
for(subj=0; subj<32; subj++)
{
Divifunction();
DctTrans();
Quanfunction();
Zscan();
HufEncodeBlock();
}
}
fclose(outfile);
cout << "Done!\n" << "If you want to Decompress the image, please input '1',else input any other key. \n" ;
/*cin >> judge;
//解码过程
if(judge == 1)
{
for(subi=0; subi<32; subi++)
{
for(subj=0; subj<32; subj++)
{
//做Huffman解压, 一次解压64个数据, 并将其存入一维数组IZZ[64]中, IZZ[]在赋值到ZZ[64]中
//Z逆变换....
}
}
}
*/
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -