投稿者 黒猫  (学生) 投稿日時 2013/11/1 20:04:49
初めまして、黒猫といいます。
何やら私と似たようなプログラムを書いていらっしゃるようなので、少し手助けができればと思い、コメントしてます。
私自身、VB初心者の手探りなので、あまり専門用語を使って説明できないのでご参考までに。

まずは確認です。
PictureBoxで表示したカード画像が何の画像なのかをプログラムに理解させたいということでよろしいでしょうか?

使っている画像の種類は何でしょうか?
手作りの画像ならばGIFで作成されたのでしょうか。

私の場合は、写真画像のJPGに付加されているExif情報を取得するようなプログラムを使用しています。
特に写真の撮影日を取得するようにプログラムしていますが、これを応用すればプロパティにあるコメント欄の情報などを取得することも可能かと思います。

つまり、
52枚の画像をJPGとして保存(ペイントソフトなどでやってください)
 ↓
プロパティにてコメント欄などに「スペード1」と登録
 ↓
プログラムにてコメント欄の情報を取得させて変数に格納
 ↓
その変数に入っている内容で判定させる

という感じにすることもできるのではないかと思いますが…。



以下、日付を取得するプログラムコード++++++++++++++++++++++++++++++++++

'読み込む
            Dim bmp As New System.Drawing.Bitmap(画像ファイルを入れたString型の変数)
            Dim item As System.Drawing.Imaging.PropertyItem
            For Each item In bmp.PropertyItems

                'Exif情報から撮影時間(&H9003)を取得する
                'item.Type = 2 (PropertyItem.Typeプロパティの値=>ASCII 形式でエンコードされた Byte オブジェクトの配列)
                If item.Id = &H9003 And item.Type = 2 Then

                    '文字列に変換する
                    Dim Val As String = System.Text.Encoding.ASCII.GetString(item.Value)
                    Val = Val.Trim(New Char() {ControlChars.NullChar})

                    'DateTimeオブジェクトに変換する
                    Dim dt As DateTime = DateTime.ParseExact( _
                        Val, "yyyy:MM:dd HH:mm:ss", Nothing)

                    '月を取得する
                    mdM = dt.Month
                    '日を取得する
                    mdD = dt.Day

●調べてみたところ、ユーザーコメントは「&H9286」のようです。
なので、コードの「&H9003」の部分を書きなおし、他の部分を直せばいいかも…?
というか、一二三さんの場合、文字列に変換の時点で必要なものは取得できてるかもですね。

参考になりそうなURLです。+++++++++++++++++++++++++++++++++++++++++++++
■画像のExif情報を取得する、設定する
http://dobon.net/vb/dotnet/graphics/getexifinfo.html

■出力項目についてちょろっと書いてあったので、ご参考までに
http://homepage3.nifty.com/koizumipro/picupttl.htm


分からないことあれば、一応質問受け付けますのでどうぞ…!