tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
[ツリー表示へ]  [ワード検索]  [Home]

タイトル Re^4: pictureboxの画像
投稿日: 2005/01/20(Thu) 11:18
投稿者mikiko
[OSのVer]:Windows    [VBのVer]:VB.NET  
>> # コードを投稿される場合上記のようにペーストすればすぐテストできる状態で
>  投稿して頂けると解決が早いのですが。
>  又、コードを投稿する場合は必ず、コード投稿モード(図表モード)で投稿してください
>  自分の投稿したコードをご覧になって見て見る気になれますか。
>  (後からでも、パスワードを入力して修正から修正できます。)
承知いたしました。

以下のコードで実行すると
「'System.Exception' のハンドルされていない例外が system.drawing.dll で発生しました。
追加情報 : インデックス付きのピクセル形式をもつイメージから Graphics オブジェクトを作成することはで
きません。」
のエラーが発生します。
原因は、bmpファイルのpixelformatがFormat1bppIndexedになっているからのようです。
bmpの保存形式を変更するとエラーは発生しません。
pixelformatを変えずに処理する方法はないでしょうか?

  Private Sub cmd_01_00_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)    
  Handles cmd_01_00.Click
        pic_01.Image = System.Drawing.Bitmap.FromFile("c:\test.bmp")
  End Sub
  
  Private Sub pic_01_MouseMove(ByVal sender As Object, ByVal e As  
  System.Windows.Forms.MouseEventArgs) Handles pic_01.MouseMove
        'bitmap読み込んでないときは抜ける
        If IsNothing(pic_01.Image) = True Then
            Exit Sub
        End If
        'マウスのドラッグで線を引く
        If e.Button = MouseButtons.Left Then
            pic_01.Image = pic_01.Image
            Dim g As Graphics = Graphics.FromImage(pic_01.Image)   ←エラー個所
            g.DrawLine(Pens.Black, Spos.X, Spos.Y, e.X, e.Y)
            g.Dispose()
            Spos = e
        End If
   End Sub

   Private Sub pic_01_MouseDown(ByVal sender As Object, ByVal e As  
   System.Windows.Forms.MouseEventArgs) Handles pic_01.MouseDown
        '描画開始位置
        Spos = e
   End Sub

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。