關於圖形放大的問題 |
答題得分者是:RaynorPao
|
poaivy
中階會員 發表:40 回覆:78 積分:53 註冊:2004-08-09 發送簡訊給我 |
可以幫我看一下我的程式碼嗎?想請問一下這樣寫我的觀念是對的還是錯的, 我找不出我到底錯在哪裡了,因為出來的圖的顏色,跟原來圖的顏色不同。
Image1->Picture->Bitmap->PixelFormat=pf24bit; Graphics::TBitmap *BMP = new Graphics::TBitmap(); Graphics::TBitmap *BMP1= new Graphics::TBitmap() ; Byte *ptr=NULL; Byte *ptr1=NULL; BMP->Assign(Image1->Picture->Bitmap); BMP1->Width=BMP->Width*2; BMP1->Height=BMP->Height*2; BMP1->PixelFormat=pf24bit; for(int y=0;y附上圖= =" |
wen142
一般會員 發表:22 回覆:27 積分:14 註冊:2004-06-30 發送簡訊給我 |
poaivy 大大~~ 我比較不了解您的用意
不過就您的程式碼來說
Image1->Picture->Bitmap->PixelFormat=pf24bit; Graphics::TBitmap *BMP = new Graphics::TBitmap(); Graphics::TBitmap *BMP1= new Graphics::TBitmap() ; Byte *ptr=NULL; Byte *ptr1=NULL; BMP->Assign(Image1->Picture->Bitmap); BMP1->Width=BMP->Width*2; BMP1->Height=BMP->Height*2; BMP1->PixelFormat=pf24bit; for(int y=0;y是否可以將您的想法表達清楚 這樣大家也比較好了解如何幫助您 |
wen142
一般會員 發表:22 回覆:27 積分:14 註冊:2004-06-30 發送簡訊給我 |
poaivy 大大~~ 我比較不了解您的用意
不過就您的程式碼來說
Image1->Picture->Bitmap->PixelFormat=pf24bit; Graphics::TBitmap *BMP = new Graphics::TBitmap(); Graphics::TBitmap *BMP1= new Graphics::TBitmap() ; Byte *ptr=NULL; Byte *ptr1=NULL; BMP->Assign(Image1->Picture->Bitmap); BMP1->Width=BMP->Width*2; BMP1->Height=BMP->Height*2; BMP1->PixelFormat=pf24bit; for(int y=0;y是否可以將您的想法表達清楚 這樣大家也比較好了解如何幫助您 |
RaynorPao
版主 發表:139 回覆:3622 積分:7025 註冊:2002-08-12 發送簡訊給我 |
引言: 可以幫我看一下我的程式碼嗎?想請問一下這樣寫我的觀念是對的還是錯的, 我找不出我到底錯在哪裡了,因為出來的圖的顏色,跟原來圖的顏色不同。Image1->Picture->Bitmap->PixelFormat=pf24bit; Graphics::TBitmap *BMP = new Graphics::TBitmap(); Graphics::TBitmap *BMP1= new Graphics::TBitmap() ; Byte *ptr=NULL; Byte *ptr1=NULL; BMP->Assign(Image1->Picture->Bitmap); BMP1->Width=BMP->Width*2; BMP1->Height=BMP->Height*2; BMP1->PixelFormat=pf24bit; for(int y=0;y附上圖= =" poaivy 你好: (1)你的影像長寬各放大一倍之後,Pixels 會變多 (原來的 4 倍),根據你的結 果看來,應該是沒有把所有的 Pixels 填滿,才會有這樣子 (網狀) 的效果 (2)先試試看以下的範例程式碼是否可行? >>>>>>>>>>>> > > < src="http://delphi.ktop.com.tw/loadfile.php?TOPICID=10003806&CC=223734"> -- Enjoy Researching & Developing -- 發表人 - RaynorPao 於 2004/11/16 21:27:21
------
-- 若您已經得到滿意的答覆,請適時結案!! -- -- 欲知前世因,今生受者是;欲知來世果,今生做者是 -- -- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 -- |
poaivy
中階會員 發表:40 回覆:78 積分:53 註冊:2004-08-09 發送簡訊給我 |
多謝兩位解答,關於RaynorPao所提到的新方法,並不是我想使用的方法,雖然說比較好用,我想用的方法很簡單,只是要把原來的一點pixel變成兩點,以便把圖形變大,只是我比較納悶的是為啥會出現黃色?
至於wen142大大所說的改成以下寫法,
ptr1[2*x*3]=ptr[x*3] ;
ptr1[2*x*3+1]=ptr[x*3+1] ;
ptr1[2*x*3+2]=ptr[x*3+2] ;
我發現這樣子的話,在中間處會出現空格= ="所以我才會多寫出
for(int ll=0;ll<2;ll )
{ ptr1[2*x*3 ll]=ptr[x*3] ;
ptr1[2*x*3 1 ll]=ptr[x*3 1] ;
ptr1[2*x*3 2 ll]=ptr[x*3 2] ;
}
以便把空格填滿。填滿的方式則為跟前一點同樣pixel值。
以上的發言不曉得兩位大大知道我為啥要這樣做了嗎?
多謝RaynorPao所提到的新方法,我會去研究看看的。
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |