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

如何讓圖片做90 180 旋轉

尚未結案
habow
一般會員


發表:1
回覆:0
積分:0
註冊:2008-12-27

發送簡訊給我
#1 引用回覆 回覆 發表時間:2008-12-27 14:27:26 IP:218.164.xxx.xxx 訂閱
最近才學習BCB 想用老師範例來改 但旋轉一值弄不出來 

希望能幫忙一下
eulor2000
一般會員


發表:51
回覆:34
積分:17
註冊:2008-11-18

發送簡訊給我
#2 引用回覆 回覆 發表時間:2009-01-04 22:37:33 IP:218.175.xxx.xxx 訂閱

===================引 用 habow 文 章===================
最近才學習BCB 想用老師範例來改 但旋轉一值弄不出來

希望能幫忙一下

最近我剛好也在學,剛好我會,我是新手也不會貼圖也找不到如何夾檔....留yuchun.chieh@msa.hinet.net 我再寄給你
編輯記錄
eulor2000 重新編輯於 2009-01-04 22:38:19, 註解 無‧
huntfox
一般會員


發表:11
回覆:13
積分:4
註冊:2006-10-23

發送簡訊給我
#3 引用回覆 回覆 發表時間:2009-01-06 11:42:13 IP:118.233.xxx.xxx 訂閱
 旋轉可以分為順時針與逆時針
原圖的座標如果是I[X][y]轉向後的圖座標O[X][Y]的話
兩者之間的關係會是
順時針
O[Height - 1 - y][x] = I[X][Y]
逆時針
O[y][Width - 1 - x] = I[X][Y]
只要把相對的資料填進去就可以了
istillloving
高階會員


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

發送簡訊給我
#4 引用回覆 回覆 發表時間:2009-02-28 11:10:36 IP:218.169.xxx.xxx 訂閱
你可以參考一下



[code cpp]
x=(int)(i*rotcos[k]-j*rotsin[k] 0.5);
y=(int)(j*rotcos[k] i*rotsin[k] 0.5);

[/code]


稍微解釋一下 i 和 j 是原始影像的座標 乘上旋轉矩陣
[ x ] 一 [cos -sin][ i ] //請比對一下 i , j 的位子
[ y ] 一 [cos sin][ j ] //請比對一下 i , j 的位子
得到新的座標 x y 取int的意義就是要填入座標 所以要整數


rotsin rotcos
我是宣告成陣列 然後你可以把你想要選轉的角度先填進去陣列裡面這樣運算起來會比較快

要注意的是旋轉後的 寬高會改變所以程式內必須要有能力計算出旋轉後的寬高
然後再new 一個 buff 存起來並且秀出來
------
恩...
編輯記錄
istillloving 重新編輯於 2009-02-28 11:12:20, 註解 無‧
istillloving 重新編輯於 2009-03-06 06:00:13, 註解 無‧
maped
一般會員


發表:13
回覆:19
積分:6
註冊:2008-10-06

發送簡訊給我
#5 引用回覆 回覆 發表時間:2009-03-04 17:59:15 IP:210.243.xxx.xxx 訂閱
如果有人有寫好的程式的話,
可以寄給我一份嗎?
因為現在有在研究如何旋轉圖片的問題。
謝謝。
系統時間:2024-05-02 5:42:20
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!