這個程式執行後會當掉
找不到原因所以來發問
請各位高手幫忙解決 這個程式是要將得到的YCbCr陣列
存到MCU陣列裡
這是我MCU陣列的內容
以下是程式的片段
其中YCbCr的Data能順利儲存,但是MCU的Data就有問題
//將Y影像存到YData矩陣裡
int Ysize= YBmp->Height * YBmp->Width ;
Byte *YData = new Byte[Ysize];
Byte* ptr1=NULL;
int a=0;
for (int y=0;yHeight ;y )
{
ptr1=(Byte*)YBmp->ScanLine[y];
for (int x=0;xWidth ;x )
{
YData[a]=ptr1[x*3];
a ;
}
}
//儲存YData矩陣的資料
TMemoryStream* Yms= new TMemoryStream();
Yms->Position=0;
Yms->Write(YData,Ysize);
Yms->SaveToFile("YData.dat"); //將Cb影像存到CbData矩陣裡
int Cbsize= CbBmp->Height * CbBmp->Width ;
Byte *CbData = new Byte[Cbsize];
Byte* ptr2=NULL;
int b=0;
for (int y=0;yHeight ;y )
{
ptr2=(Byte*)CbBmp->ScanLine[y];
for (int x=0;xWidth ;x )
{
CbData[b]=ptr2[x*3];
b ;
}
} //儲存CbData矩陣的資料
TMemoryStream* Cbms= new TMemoryStream();
Cbms->Position=0;
Cbms->Write(YData,Cbsize);
Cbms->SaveToFile("CbData.dat"); //將Cr影像存到CrData矩陣裡
int Crsize= CrBmp->Height * CrBmp->Width ;
Byte *CrData = new Byte[Crsize];
Byte* ptr3=NULL;
int c=0;
for (int y=0;yHeight ;y )
{
ptr3=(Byte*)CrBmp->ScanLine[y];
for (int x=0;xWidth ;x )
{
CrData[c]=ptr3[x*3];
c ;
}
} //儲存CrData矩陣的資料
TMemoryStream* Crms= new TMemoryStream();
Crms->Position=0;
Crms->Write(CrData,Crsize);
Crms->SaveToFile("CrData.dat");
int MCUsize=(YBmp->Height * YBmp->Width)
(CbBmp->Height * CbBmp->Width)
(CrBmp->Height * CrBmp->Width); int MCUNumber=MCUsize/256; Byte *MCUData = new Byte[MCUsize];
for(int i=0 ; iPosition=0;
MCUms->Write(MCUData,MCUsize);
MCUms->SaveToFile("MCUData.dat"); delete Yms;
delete [] YData;
delete Cbms;
delete [] CbData;
delete Crms;
delete [] CrData;
delete MCUms;
delete [] MCUData;
發表人 - jamison1118 於 2005/03/19 17:09:19