請問有辦法控制我讀取的影像大小嗎?例如 img檔 |
答題得分者是:RedSnow
|
020464581
一般會員 發表:5 回覆:7 積分:2 註冊:2004-12-30 發送簡訊給我 |
◎抱歉打擾各位一下
TMDIChild *Child;//我是用TMD的多視窗show影像 Child = new TMDIChild(Application); for (i = 0;i < kvdim;i ) for (j = 0;j < khdim;j ) { kbuf[i * khdim j] = kout[i][j]; Child->Image1->Canvas->Pixels[j][i]=(TColor)RGB(kout[i][j],kout[i][j],kout[i][j]); }//我所讀取的檔案是img檔,我沒辦法直接開img,所以,我把img檔的 //數據資料直接傳給Pixels。PS:問題是我無法讓影像呈現出我要的大小,例如說,這張影像呈現出來是將近 ,半個螢幕大,但是我想讓它變成,1/8螢幕大或1/10螢幕大 我用 Child->Image1->Syretch=true;也不行 發表人 - 020464581 於 2005/07/24 23:12:36 發表人 - 020464581 於 2005/07/24 23:13:34 |
RedSnow
版主 發表:79 回覆:1322 積分:845 註冊:2003-12-15 發送簡訊給我 |
020464581 您好: 首先糾正一下您的用詞,您使用的那種視窗叫做 MDI 視窗,而不是 TMD 視窗,MDI 的完整英文名稱為 Multiple Document Interface,那個 T 字頭是 Borland 對其產品的物件的命名習慣,冠在物件名稱前方僅做為識別之用而已。 接著真對您的提問做回覆:您可以使用一個暫存的 Bitmap 來儲存讀入的資料,然後再設給 Image 物件 (Stretch 屬性設為 true) 顯示出來,例如:
Graphics::TBitmap *Bitmap = new Graphics::TBitmap(); .... 此處做您原先的填圖動作,但是對象改為 Bitmap .... Image1->Picture->Bitmap->Assign(Bitmap); delete Bitmap;因為不清楚您的完整敘述為何?Image 物件各個屬性的設定又為何?因此以上僅提供基本架構,參考看看吧。 7 天天敲鍵盤 v 時時按滑鼠 8 |
020464581
一般會員 發表:5 回覆:7 積分:2 註冊:2004-12-30 發送簡訊給我 |
真抱歉,再打擾一下。
我是看書,學BCB的,剛學不到2個禮拜,都是看書學的。
Image1這個物件,是MDI不是可以呼叫一個小視窗,原本是輸入文字,
我按照書上寫的,把他改成可以輸入影像。然後Image1他的屬性我都
沒動到,至於填圖指令,你的意思是否是這樣
把
Child->Image1->Picture->Bitmap->Canvas->Pixels[j][i]=(TColor)RGB(kout[i][j],kout[i][j],kout[i][j]);改成 Bitmap->Canvas->Pixels[j][i]=(TColor)RGB(kout[i][j],kout[i][j],kout[i][j]);假如是的話,我的圖反而無法呈現出來>"<,我不知道哪裡做錯了。 我最主要的目的,是能在小視窗上的Image1 能夠控制影像的大小。 發表人 - 020464581 於 2005/07/24 23:11:26 |
RedSnow
版主 發表:79 回覆:1322 積分:845 註冊:2003-12-15 發送簡訊給我 |
|
020464581
一般會員 發表:5 回覆:7 積分:2 註冊:2004-12-30 發送簡訊給我 |
真抱歉又在打擾你。
我剛剛就是把程式改成這樣子,不知道有沒有誤會你的意思。
但是還是不行耶。 發表人 - 020464581 於 2005/07/24 21:33:12 發表人 - 020464581 於 2005/07/24 23:06:53
TMDIChild *Child; Child = new TMDIChild(Application); Graphics::TBitmap *Bitmap = new Graphics::TBitmap(); /* ----- To save decoded image as output file ----- */ printf("(2). Data update.\n"); for (i = 0;i < kvdim;i ) for (j = 0;j < khdim;j ) { kbuf[i * khdim j] = kout[i][j]; //Child->Image1->Picture->Bitmap->Canvas->Pixels[j][i]=(TColor)RGB(kout[i][j],kout[i][j],kout[i][j]); Bitmap->Canvas->Pixels[j][i]=(TColor)RGB(kout[i][j],kout[i][j],kout[i][j]); } Child->Image1->Stretch=true; Child->Image1->Picture->Bitmap->Assign(Bitmap); delete Bitmap;發表人 - 020464581 於 2005/07/24 23:08:40 發表人 - 020464581 於 2005/07/24 23:15:21 |
taishyang
站務副站長 發表:377 回覆:5490 積分:4563 註冊:2002-10-08 發送簡訊給我 |
|
020464581
一般會員 發表:5 回覆:7 積分:2 註冊:2004-12-30 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |