程式一開始要先有開圖片檔的程式碼:
OpenPictureDialog1->Execute();
Image1->Picture->LoadFromFile(OpenPictureDialog1->FileName);
OpenPictureDialog1->Execute();
Image1->Picture->LoadFromFile(OpenPictureDialog1->FileName);
讀取得到圖片長寬的程式碼:
iImageHeight=Image1->Picture->Height;
iImageWidth=Image1->Picture->Width;
宣告RGB三元素的三個陣列的程式碼:
try
{
ucMR = new unsigned char *[iImageHeight];
for (j=0;jucMR[j] = new unsigned char [iImageWidth];
}
catch (std::bad_alloc)
{
ShowMessage("Could not allocate memory...Bye");
exit(-1);
}
}
利用for 迴圈儲存RGB的值的程式碼:
for(i=0;iHeight;i++)
{
for(j=0;jWidth;j++)
{
ucMatrixR[i][j]=GetRValue(Image1->Canvas->Pixels[j][i]);
ucMatrixG[i][j]=GetGValue(Image1->Canvas->Pixels[j][i]);
ucMatrixB[i][j]=GetBValue(Image1->Canvas->Pixels[j][i]);
}
}
心得:
這次我把作業都重新看過讀懂了一次,利用BCB把所要的物件放上後,在用相關的程式碼對映上去,雖然說起來很簡單,其實卻不然,利用上課講解過的程式碼,以及同學們的教導,慢慢拼湊出來的,希望成果還可以! 老師可以給我加點分數
沒有留言:
張貼留言