線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1578
推到 Plurk!
推到 Facebook!

如何合併這兩段程式去執行

答題得分者是:boss.tw
susamlin2001
一般會員


發表:15
回覆:7
積分:4
註冊:2010-06-26

發送簡訊給我
#1 引用回覆 回覆 發表時間:2010-08-23 19:01:50 IP:125.224.xxx.xxx 訂閱
請問如何將以下這兩段程式合併再利用for loop去執行我想要的次數???(以下這兩段是taishyang之前所寫的一段有關侵蝕和膨脹的程式)
我曾試過在前面就加for (int a=0;a<=5;a )將這兩段用{ }包起來~結果卻無效,但是如果分別執行for (int a=0;a<=5;a )就可以執行我想要的次數,但是我想要的是侵蝕和膨脹各做一次為一次,然後連做5次,而不是侵蝕做5次再做膨脹5次。
麻煩各位指導一下!!!

[code cpp]
for (int i=0;iHeight;i )
{
ptr=(Byte*)Bmp->ScanLine[i];
for (int j=0;jWidth; j )
{
p1[j][i]=ptr[j*3];
}
}

for (int i=0;iHeight;i )
{
ptr=(Byte*)Bmp->ScanLine[i];
for (int j=0;jWidth; j )
{
ptr[j*3]=ErosionFilter(j,i);
ptr[j*3 1]=ErosionFilter(j,i);
ptr[j*3 2]=ErosionFilter(j,i);
}
}
[/code]


[code cpp]
for (int i=0;iHeight;i )
{
ptr=(Byte*)Bmp->ScanLine[i];
for (int j=0;jWidth; j )
{
p1[j][i]=ptr[j*3];
}
}

for (int i=0;iHeight;i )
{
ptr=(Byte*)Bmp->ScanLine[i];
for (int j=0;jWidth; j )
{
ptr[j*3]=ExpendFilter(j,i);
ptr[j*3 1]=ExpendFilter(j,i);
ptr[j*3 2]=ExpendFilter(j,i);
}
}
[/code]


編輯記錄
susamlin2001 重新編輯於 2010-08-25 02:06:31, 註解 無‧
boss.tw
高階會員


發表:15
回覆:109
積分:194
註冊:2005-05-17

發送簡訊給我
#2 引用回覆 回覆 發表時間:2010-08-25 15:25:22 IP:219.87.xxx.xxx 訂閱
是這樣嗎

[code cpp]
for(int cnt=0;cnt<5;cnt )
{
for (int i=0;iHeight;i )
{
ptr=(Byte*)Bmp->ScanLine[i];
for (int j=0;jWidth; j )
{
p1[j][i]=ptr[j*3];
}
}
for (int i=0;iHeight;i )
{
ptr=(Byte*)Bmp->ScanLine[i];
for (int j=0;jWidth; j )
{
ptr[j*3]=ExpendFilter(j,i);
ptr[j*3 1]=ExpendFilter(j,i);
ptr[j*3 2]=ExpendFilter(j,i);
ptr[j*3]=ErosionFilter(j,i);
ptr[j*3 1]=ErosionFilter(j,i);
ptr[j*3 2]=ErosionFilter(j,i);
}
}
}
[/code]
bestlong
站務副站長


發表:126
回覆:734
積分:512
註冊:2002-10-19

發送簡訊給我
#3 引用回覆 回覆 發表時間:2010-08-25 17:52:33 IP:210.242.xxx.xxx 未訂閱
> 試過在前面就加for (int a=0;a<=5;a++)將這兩段用{ }包起來~結果卻無效

你所說的無效是指跑完後畫面沒有變化?
------
http://blog.bestlong.idv.tw/
http://www.bestlong.idv.tw/
http://delphi-ktop.bestlong.idv.tw/
susamlin2001
一般會員


發表:15
回覆:7
積分:4
註冊:2010-06-26

發送簡訊給我
#4 引用回覆 回覆 發表時間:2010-08-26 00:16:54 IP:125.224.xxx.xxx 訂閱
我試了boss.tw的方法~最後圖片顯示出來會是ErosionFilter的地方做五次~而ExpendFilter則沒有變化!!

我所說的無效~就是執行後~我的圖片沒有任何的變化!!
編輯記錄
susamlin2001 重新編輯於 2010-08-26 00:18:57, 註解 無‧
istillloving
高階會員


發表:33
回覆:182
積分:183
註冊:2008-10-09

發送簡訊給我
#5 引用回覆 回覆 發表時間:2010-09-21 13:26:00 IP:124.9.xxx.xxx 訂閱
還是自己寫比較快吧...

ErosionFilter(j,i); <----- 這是不是一個function啊

我還是覺得自己寫比較快...=..=


而且侵蝕和膨脹這種運算是 "有對象性" 的 你要對什麼做侵蝕 對什麼做膨脹

別人寫的不一定就是你要的


===================引 用 susamlin2001 文 章===================
請問如何將以下這兩段程式合併再利用for loop去執行我想要的次數???(以下這兩段是taishyang之前所寫的一段有關侵蝕和膨脹的程式)
我曾試過在前面就加for (int a=0;a<=5;a )將這兩段用{ }包起來~結果卻無效,但是如果分別執行for (int a=0;a<=5;a )就可以執行我想要的次數,但是我想要的是侵蝕和膨脹各做一次為一次,然後連做5次,而不是侵蝕做5次再做膨脹5次。
麻煩各位指導一下!!!

[code cpp]
for (int i=0;i
for (int i=0;i[/code]


[code cpp]
for (int i=0;i
for (int i=0;i[/code]


------
恩...
編輯記錄
istillloving 重新編輯於 2010-09-21 13:29:54, 註解 無‧
系統時間:2024-12-04 1:12:50
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!