|
分類:[VB.NET/VB2005 以降]
2012/11/01(Thu) 11:33:46 編集(投稿者) 2012/10/31(Wed) 12:04:08 編集(投稿者)
現在PCの画面をキャプチャーしてそれを画像pngとして指定した場所(フォルダ)に保存するという処理をしているのですが、保存先をコードの中に直接書いており保存先のフォルダの場所を変えても『参照ボタン』で保存先を指定(設定)できるようにしたいのですが、どのようにコードを書いたらよろしいでしょうか? ソフト<Visual Studio2008> 使用言語<VB> ---------------------------------------------------- Public Class Form1
'Dim gazou As String '自動画像配列 Dim i As Integer
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
'PictureBox1の大きさを取得() Dim rect As Rectangle = PictureBox1.ClientRectangle
'PictureBox1に表示されている画像を取得するためのBitmap Dim bmp As New Bitmap(rect.Width, rect.Height)
'bmpに画像を入れるための準備 Dim g As Graphics = Graphics.FromImage(bmp) Dim pea As New PaintEventArgs(g, rect)
'PaintBackgroundイベントを発生 Me.InvokePaintBackground(PictureBox1, pea)
'Paintイベントを発生 Me.InvokePaint(PictureBox1, pea)
'画像を保存する(20枚を超えると初めの画像を上書き)
If i < 19 Then bmp.Save("D:\Gazou\画像" & i + 1 & ".png") i = i + 1
Else i = 0 '1から上書き bmp.Save("D:\Gazou\画像\画像" & i + 1 & ".png") MsgBox("20枚超えたので1枚目から上書きいたします。") i = i + 1
End If
'後始末 g.Dispose() bmp.Dispose()
End Sub
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
'タイマー有効時に画面全体をコピーする。
'Bitmapの作成 Dim bmp As New Bitmap(Screen.PrimaryScreen.Bounds.Width, _ Screen.PrimaryScreen.Bounds.Height)
'Graphicsの作成 Dim g As Graphics = Graphics.FromImage(bmp)
'画面全体をコピーする g.CopyFromScreen(New Point(0, 0), New Point(0, 0), bmp.Size)
'解放 g.Dispose()
'表示 PictureBox1.Image = bmp
End Sub
End Class
---------------------------------------------------------------------------- お忙しいところすみませんがよろしくお願いします。m(__)m
追記 ブラウザの設定により自動的に事前から指定していた場所に保存されると思うのですが、そんな感じで保存先を変えたい際は設定ボタンみたいなのを押したら変更できるようにし、通常は保存ボタンを押すと先ほど設定した保存先にダイアログ等表示せず保存されるような感じです。 直接コードに固定の指定場所を書いていたら変更する際コードをいじらないといけないので;;
|