2013-10-31 29 views
0

我目前正在使用arduino和處理來製作相機。它使用網絡攝像頭,並且必須能夠在您拍下手指時拍攝照片,當房間低於某個光線時自動使用閃光燈並使用Arduino旋鈕進行縮放。目前的變焦問題是,它只能放大到左上角,我無法弄清楚如何將它放大到圖像的中心。這裏是變焦的代碼:在處理中使用arduino縮放到中心

float s = 1.0; 

s = map(arduino.analogRead(0), 1020, 0, 1, 10); 
int scaleWidth = int(width/s); 
int scaleHeight = int(height/s); 

copy(cam, 0, 0, scaleWidth, scaleHeight, 0, 0, width, height); 

在此先感謝所有回覆的人。

回答

1

嘗試:

copy(cam, int((width - scaleWidth)*0.5), int((height - scaleHeight)*0.5), scaleWidth, scaleHeight, 0, 0, width, height); 

更新:使他們成爲整數...此外,移動只進行一次乘法,這將使事情有點快。

+0

將這兩個參數的調用複製爲浮點數,但scaleHeight和scaleWidth是int。如果有辦法讓他們充當兩者,這可能會奏效。你知道這可以做到嗎? – Pkolms

+0

沒關係,我只是用/ 2而不是* .5(這是同樣的事情),它的工作。感謝您的幫助! – Pkolms