24bit(或32bit) 的圖檔(BMP)如何看某一剖面的灰度值?? |
尚未結案
|
aoi525
一般會員 發表:5 回覆:5 積分:2 註冊:2004-12-28 發送簡訊給我 |
不好意思,我剛學BCB不久。想請教各位高手一下:我有幾張圖(BMP),但是有8bit和24bit和32bit的格式。我想看這幾張圖的任一剖面灰度值(0~255),但好像只有8bit的圖適用,劃出來沒問題。請教一下,那24bit和32bit的圖怎麼用呢??(ps:24bit和32bit的圖檔我已先做處理了,已先把圖先處理成純R或純G或純B的圖,附上一張24bit的純G的圖檔)
程式如下,請大家幫我解解答。謝謝~~~ void __fastcall TForm1::Button1Click(TObject *Sender)
{
if(OpenPictureDialog1->Execute())
Image1->Picture->LoadFromFile(OpenPictureDialog1->FileName);
}
//-------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
Byte **PImage0;
PImage0=(Byte**)new Byte *[(Image1->Picture->Height)]; int ImageX=(Image1->Picture->Width);
int ImageY=(Image1->Picture->Height); for(int y=0; y < ImageY ;y )
{
PImage0[y]=(Byte*)Image1->Picture->Bitmap->ScanLine[y];
} if(Form1->RadioButton_Y->Checked)
Form1->Edit_X->Text=IntToStr((Image1->Picture->Width)-1);
else if(Form1->RadioButton_X->Checked)
Form1->Edit_Y->Text=IntToStr((Image1->Picture->Height)-1);
Form1->Chart1->Series[0]->Clear(); if(RadioButton_X->Checked==true)
{
for(int i=0;i < ( Edit_Y->Text.ToInt() );i )
{
Form1->Chart1->Series[0]->AddXY(i,PImage0[ i ][Form1->Edit_X->Text.ToInt()],"",clBlack);
}
}
else if(RadioButton_Y->Checked==true)
{
for(int i=0;i < ( Form1->Edit_X->Text.ToInt() );i )
{
Form1->Chart1->Series[0]->AddXY(i,PImage0[ Edit_Y->Text.ToInt() ][i],"",clBlack);
}
}
}
|
aoi525
一般會員 發表:5 回覆:5 積分:2 註冊:2004-12-28 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |