ppm转化为bmp


不用介绍了吧,就这么简单
资源截图
代码片段和文件信息
#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个文件信息

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)