我有一個面板,其中有一個backgroundimage
模擬XY圖形,如下圖所示。將XY參考轉換爲像素參考
我基於所述用戶輸入創建pictureboxes
動態:
- 數目的圖像
- (X,Y)座標
問題是座標是在本地機器軟件中定義,範圍爲X and Y from -100 to +100
。我的面板是200px x 200px。
我嘗試類似:
If X < 0 and then
X0 = X-100
ElseIf X > 0 then
X0 = X+100
Else
X0 = X
End If
(...)
PictureBox(n).location = new point (X0,Y0)
但我認爲這並不好做這樣的事情。任何想法以更好的方式做到這一點?
---- ----編輯
迄今爲止最好的方法:
Select Case X And Y
Case CInt(X < 0 And Y > 0)
X0 = X + 100
Y0 = Y - 100
Case CInt(X < 0 And Y < 0)
X0 = X + 100
Y0 = Y + 200
Case CInt(X > 0 And Y > 0)
X0 = X + 100
Y0 = Y + 100
Case CInt(X > 0 And Y < 0)
X0 = X + 100
Y0 = Y + 200
'Missing when X=0 and so on
End Select
---- ----編輯
現在看一下例子。
所有你給的答案都不符合問題。
| X | Y | | X0 | Y0 |
|-100|100 | | 0 | 0 |
| 20 | 40 | |120 | 60 |
| -60|-20 | | 40 | 120 |
| 60|-80 | | 160| 180 |
會[模](https://en.wikipedia.org/wiki/Modulo_operation)幫助? –
@UweKeim看起來像你們!我想搜索一個類似的功能來測試它! –
所以你的面板是500px x 500px或200px x 200px?你想從(-100到100)轉換爲(0到500)?如果是的話,你可以簡單地做:'(X + 100)*(500/200)'其中200是距離-100到100 –