不用介绍了吧,就这么简单
代码片段和文件信息
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 230454 2008-02-17 21:23 YuessMpeg2dec54.bmp
文件 230415 2007-12-27 23:54 YuessMpeg2dec54.ppm
文件 253455 2002-09-17 18:20 YuessMpeg2decDebug10.ppm
文件 230415 2007-12-27 23:54 YuessMpeg2decDebug54.ppm
文件 372464 2008-01-06 13:52 YuessMpeg2decDebugPpmToBmp.obj
文件 557123 2008-01-04 16:46 YuessMpeg2decDebugTES.exe
文件 815472 2008-01-04 16:46 YuessMpeg2decDebugTES.ilk
文件 370897 2008-01-04 16:46 YuessMpeg2decDebugTES.obj
文件 2177688 2008-01-04 14:53 YuessMpeg2decDebugTES.pch
文件 1131520 2008-01-04 16:46 YuessMpeg2decDebugTES.pdb
文件 82944 2008-02-17 21:23 YuessMpeg2decDebugvc60.idb
文件 118784 2008-01-06 13:52 YuessMpeg2decDebugvc60.pdb
文件 557133 2008-01-06 13:52 YuessMpeg2decDebugYuessMpeg2dec.exe
文件 816356 2008-01-06 13:52 YuessMpeg2decDebugYuessMpeg2dec.ilk
文件 2177656 2008-01-06 12:47 YuessMpeg2decDebugYuessMpeg2dec.pch
文件 1131520 2008-01-06 13:52 YuessMpeg2decDebugYuessMpeg2dec.pdb
文件 2566 2008-01-06 13:52 YuessMpeg2decPpmToBmp.cpp
文件 0 2008-01-02 09:45 YuessMpeg2decTES.ASP
文件 1909 2008-01-04 16:46 YuessMpeg2decTES.CPP
文件 1102 2008-01-04 16:46 YuessMpeg2decTES.PLG
文件 4385 2008-01-04 17:14 YuessMpeg2decYuessMpeg2dec.dsp
文件 551 2007-12-28 22:03 YuessMpeg2decYuessMpeg2dec.dsw
文件 41984 2008-02-17 21:23 YuessMpeg2decYuessMpeg2dec.ncb
文件 56832 2008-02-17 21:23 YuessMpeg2decYuessMpeg2dec.opt
文件 260 2008-01-06 13:53 YuessMpeg2decYuessMpeg2dec.plg
目录 0 2008-01-06 13:52 YuessMpeg2decDebug
目录 0 2008-02-17 21:23 YuessMpeg2dec
----------- --------- ---------- ----- ----
11363885 27
............此处省略0个文件信息
#include
#include
#include
#include
#include
using namespace std;
int main(int argc char * argv[])
{
if (argc != 3)
{
cout << “please use this command like this: YuessMpeg2dec.exe src.ppm des.bmp“ << endl;
return 0;
}
/*
argv[0]=“YuessMpeg2dec“;
argv[1]=“54.ppm“;
argv[2]=“yss.bmp“;*/
string pFilename=““;
pFilename=argv[1];//ppm file name
ifstream ifile;//input ppm file
ofstream ofile;//output bmp file
ifile.open(argv[1]ios::binary);
if (!ifile) {
cout<<“open error!“< }
ofile.open(argv[2]ios::binary);
string FileType;//file type-p6
int WidthHeightCount;//count is the number of pixels
int DataSizeHeadSizeFileSize;
ifile>>FileType>>Width>>Height>>Count;//get the para of the ppm file
cout<
DataSize=Width*Height*3;//every pixel need 3 byte to store
HeadSize=0x36;//54 Bype
FileSize=HeadSize+DataSize;
Count=Width*Height;
cout<
unsigned char BmpHead[54];
for(int i=0;i<53;i++){
BmpHead[i]=0;
}
BmpHead[0]=0x42;
BmpHead[1]=0x4D;//type
//for(int k=0;k<53;k++){
// cout< //}
cout<
int SizeNum=2;//the size of bmp file
while (FileSize!=0) {
BmpHead[SizeNum++]=FileSize % 256;
FileSize = FileSize / 256;
}
cout<
BmpHead[0x0A]=0x36;//data begin here
BmpHead[0x0E]=0x28;//size of bitmap information head
int FileWidthCount = 0x12;//width
while (Width != 0)
{
BmpHead[FileWidthCount++] = Width % 256;
Width = Width / 256;
}
int FileHeightCount = 0x16;//height
while (Height != 0)
{
BmpHead[FileHeightCount++] = Height % 256;
Height = Height / 256;
}
BmpHead[0x1A]=0x1;//device
BmpHead[0x1C]=0x18;//every pixel need 3 byte
int FileSizeCount=0x22;
while (DataSize!=0) {
BmpHead[FileSizeCount++]=DataSize%256;
DataSize=DataSize/256;
}
//for(int k=0;k<53;k++){
// cout< //}
for (i=0; i<54; i++)
{ofile << BmpHead[i];
cout< }
char bluegreenred;
ifile.ignore();
cout<<“ok“< for(int j = Count;j >=1 ;j--){
//cout<<“begin“< ifile.get(blue);
ifile.get(green);
ifile.get(red);
ofile< ofile.put(red);
ofile.put(green);
ofile.put(blue);
//cout< }
ifile.close();
ofile.close();
return 0;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 230454 2008-02-17 21:23 YuessMpeg2dec54.bmp
文件 230415 2007-12-27 23:54 YuessMpeg2dec54.ppm
文件 253455 2002-09-17 18:20 YuessMpeg2decDebug10.ppm
文件 230415 2007-12-27 23:54 YuessMpeg2decDebug54.ppm
文件 372464 2008-01-06 13:52 YuessMpeg2decDebugPpmToBmp.obj
文件 557123 2008-01-04 16:46 YuessMpeg2decDebugTES.exe
文件 815472 2008-01-04 16:46 YuessMpeg2decDebugTES.ilk
文件 370897 2008-01-04 16:46 YuessMpeg2decDebugTES.obj
文件 2177688 2008-01-04 14:53 YuessMpeg2decDebugTES.pch
文件 1131520 2008-01-04 16:46 YuessMpeg2decDebugTES.pdb
文件 82944 2008-02-17 21:23 YuessMpeg2decDebugvc60.idb
文件 118784 2008-01-06 13:52 YuessMpeg2decDebugvc60.pdb
文件 557133 2008-01-06 13:52 YuessMpeg2decDebugYuessMpeg2dec.exe
文件 816356 2008-01-06 13:52 YuessMpeg2decDebugYuessMpeg2dec.ilk
文件 2177656 2008-01-06 12:47 YuessMpeg2decDebugYuessMpeg2dec.pch
文件 1131520 2008-01-06 13:52 YuessMpeg2decDebugYuessMpeg2dec.pdb
文件 2566 2008-01-06 13:52 YuessMpeg2decPpmToBmp.cpp
文件 0 2008-01-02 09:45 YuessMpeg2decTES.ASP
文件 1909 2008-01-04 16:46 YuessMpeg2decTES.CPP
文件 1102 2008-01-04 16:46 YuessMpeg2decTES.PLG
文件 4385 2008-01-04 17:14 YuessMpeg2decYuessMpeg2dec.dsp
文件 551 2007-12-28 22:03 YuessMpeg2decYuessMpeg2dec.dsw
文件 41984 2008-02-17 21:23 YuessMpeg2decYuessMpeg2dec.ncb
文件 56832 2008-02-17 21:23 YuessMpeg2decYuessMpeg2dec.opt
文件 260 2008-01-06 13:53 YuessMpeg2decYuessMpeg2dec.plg
目录 0 2008-01-06 13:52 YuessMpeg2decDebug
目录 0 2008-02-17 21:23 YuessMpeg2dec
----------- --------- ---------- ----- ----
11363885 27
............此处省略0个文件信息
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。
评论列表(条)