タイトル : 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 |