0

VB の学習を始めたばかりで、クリップボード (ProntScreen) を保存するプログラムを作成したいと考えていました。私はそこで成功しましたが、それらの画像のファイル名を生成したいので、ソースコードを変更せずに同じフォルダーに多くの画像を取り込むことができます。

これが私のコードです:

    Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    If Not System.Windows.Forms.Clipboard.GetDataObject() Is Nothing Then
        Dim oDataObj As IDataObject = System.Windows.Forms.Clipboard.GetDataObject()
        If oDataObj.GetDataPresent(System.Windows.Forms.DataFormats.Bitmap) Then
            Dim oImgObj As System.Drawing.Image = oDataObj.GetData(DataFormats.Bitmap, True)
            'To Save as Bitmap
            'oImgObj.Save("c:\Test.bmp", System.Drawing.Imaging.ImageFormat.Bmp)
            'To Save as Jpeg
            oImgObj.Save("d:\Test\test.jpeg", System.Drawing.Imaging.ImageFormat.Jpeg)
            'To Save as Gif
            'oImgObj.Save("c:\Test.gif", System.Drawing.Imaging.ImageFormat.Gif)
        End If
    End If
End Sub
End Class

ご覧のとおり、画像はD:\Test\Test.jpeg ファイル名 (test.jpeg) を生成したい修正場所に保存されます。たぶん、現在の時刻は 114512 などのようにクールになるでしょう。

4

1 に答える 1

0

私はVBの人ではありません。私はC#に取り組んでいますが、試してみてください。変数を宣言し、System.DateTimeその中に現在の日時を格納します。次に、別のString変数を宣言し、それをimagePathと呼びましょう。文字列変数で、フォルダー パス(d:\Test\", timestand, image extension(.jpeg) )を結合してパスを作成します。最後に、.Save メソッドでこの imagePath 変数を使用して、パスと名前を渡します。以下のコードはこれは、私がVBコードを試すのはこれが初めてだと言った. コードに間違いがある可能性がありますが、ロジックは同じままです. 間違いがある場合はコードを変更してください.

Dim timeStamp As System.DateTime
timeStamp = Now;

Dim imagePath as String
imagePath = "d:\Test\" + timeStamp + ".jpeg";

oImgObj.Save(imagePath, System.Drawing.Imaging.ImageFormat.Jpeg)
于 2013-04-06T18:36:22.570 に答える