私はマウスで制御できる私のフォーム上に地図を表示したいと思います。私はスクロールホイールで地図のズームを調整できるようにしたい、私はズームしているときにマップの周りのビューを移動することができるようにしたいので、私は周りを見ることができます。私は絵のボックスを静的にし、実際の画像を地図の周りを見回す幻想に変えたいだけです。私はこれで多くの困難を抱えています。静的な画像ボックス内の画像を移動したり、地図の正しい部分を動的に表示するために何らかのグラフィックス描画を使用しなければならないのですか?静的な画像ボックスで画像をシフト
答えて
私はあなたのペイントイベントを使って、フォーム上またはパネル内に直接描画することをお勧めします。
Public Class Form1
Private _moveIt As Boolean = False
Private _coyote As Image
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
_coyote = PictureBox1.Image
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
_moveIt = True
PictureBox1.Invalidate()
End Sub
Private Sub PictureBox1_Paint(sender As Object, e As PaintEventArgs) Handles PictureBox1.Paint
If _moveIt = True Then
PictureBox1.Image = Nothing
e.Graphics.DrawImage(_coyote, New Rectangle(New Point(32, 64), _
New Size(_coyote.Width, _coyote.Height)))
End If
End Sub
End Class
しかし、ピクチャを区別する一つのことは、もはや使用されているので、(Nothingに設定)のPictureBoxのImageが削除されたことがわかりません:ここに示したようにはい、ピクチャボックスに画像を再配置することが可能です。
PictureBoxのImageプロパティを引き続き使用するには、元の画像に基づいて画像を再作成し、Imageプロパティとして設定する必要があります。これは実行可能なアプローチではありません。ペイントとそのGraphicsオブジェクトを使用して、フォーム上またはパネル内にイメージを描画します。
'Image'プロパティをオーバーライド/シャドウするカスタム画像ボックスを常に作成できます。このようにして、コントロールを描画することなく画像を保存することができます。 –
簡単な解決策のように思えるピクチャボックスを使う必要はありません。パネルでペイントグラフィックスを使用しても、イメージを動的に変更できますか?画像のズームインやズームアウト、パンのように? – TobiasKnudsen
@TobiasKnudsen:もちろん、どんなコントロールでも使用できます。 :) –
- 1. ImageJ画像シフト
- 2. 静的画像のDjangoUnicodeDecodeError
- 3. 画像からdatagridviewから画像ボックス
- 4. 画像の画像ボックスによる画像パスURL
- 5. プロフィール画像なしのボックス
- 6. C#1つの画像ボックスを別の画像ボックスにドラッグ&ドロップ
- 7. Django - 静的ファイルで画像を表示
- 8. カスタム画像ボックスで画像が更新されない
- 9. 静止画像の画像オンロード
- 10. C#マルチページビューア画像ボックス
- 11. 画像が画像ボックスに表示されないc#
- 12. 画像ボックスにPgm画像を読み込んでいます
- 13. vb.net winformsでSQL Serverの画像ボックスに画像を表示
- 14. VBで画像を表示する実行時の画像ボックス
- 15. C#リストで画像を画像ボックスに追加
- 16. バイトボックスを画像ボックスにロード
- 17. パネル画像ギャラリーボックスから画像ボックスに画像を読み込む
- 18. Google Maps静的画像APIのパン
- 19. C#の別の画像ボックスにある画像ボックスの画像ボックスにある画像をドラッグアンドドロップする方法は?
- 20. ポップダウン画像記述ボックス
- 21. VB.NET:ラベル対画像ボックス
- 22. VB.net - 画像ボックスの印刷
- 23. クリア入力ボックスonclick画像
- 24. css3垂直画像シフトを防止
- 25. 画像ボックスの画像をデータベースに保存
- 26. 画像ボックスに画像の縮尺を表示する方法
- 27. 非同期にURLから画像を画像ボックスにロード
- 28. 画像ボックス画像を消去するには?
- 29. ビットマップから画像ボックスに画像を入れる方法
- 30. インポートした画像を画像ボックスに拡大縮小html
ズームするには、少なくとも1つの縮尺変更画像を作成する必要があります。ズームの時点で再描画するか、ズームしたイメージのリストを事前に作成して、動的に行うかのどちらかです。それをパニング(シフト)する限り、メモリとCPUの消費量の最小化は、スクロール可能なパネルに自動サイズのピクチャボックスを配置することです。マウスでドラッグすると、カーソルの動きに応じてパネルがスクロールする方法を計算する必要があります。 –