- - PR -
画像の領域を指定し保存
1
| 投稿者 | 投稿内容 | ||||
|---|---|---|---|---|---|
|
投稿日時: 2007-02-19 22:48
BMP(何でもいいのですが)である画像の範囲を指定して保存しようと
思っております。試行錯誤して一度ピクチャーボックスに描画してから その範囲を指定して保存するしかないかと思い Bitmap bmp = new Bitmap(96, 96); pictureBox1.DrawToBitmap(bmp, new Rectangle(new Point(192, 85), new Size(96, 96))); bmp.Save(@"ファイル名"); これだと画像が空といいますかふちが黒いだけの画像になってしまいます。 どのようにしたら指定して保存できるのでしょうか? | ||||
|
投稿日時: 2007-02-20 01:48
結論から言うとDrawToBitmapではできないようです。
私の方でも実験してみて、確かにうまくいかないなと思ったのですが、 いろいろ試してみたところ、第二引数のtargetBoundsで指定する矩形は PictureBox側の矩形ではなく、第一引数のbitmapの中の矩形を意味するようです。 (つまり、描画元の原点はPictureBoxの(0,0)固定) で、本題のBMPファイルの切り出しですが、 元ファイルのBMPファイルをロードしたBitmapオブジェクトがbmpSrcだとして、 以下のようにすれば切り出せると思います。
Graphics.FromImageメソッド、Graphics.DrawImageメソッドの上記オーバーロード をヘルプで調べてみてください。 [ メッセージ編集済み 編集者: よねKEN 編集日時 2007-02-20 01:49 ] | ||||
|
投稿日時: 2007-02-20 16:33
ありがとうございます。
教えていただいたGraphicsクラスを勉強させていただきました。 画像の範囲を指定して保存するのはBMPクラスだけでさくっといけるものかと 思いましたが、意外にてこづりました。 | ||||
1
