タイトル : 画像の一部を切り取って保存するには? 投稿日 : 2008/10/29(Wed) 01:10 投稿者 : 蒼月
いつもお世話になっています。 私は、今、ActiveReportで作成した帳票を、ビットマップに変換する プログラムを作成しております。 ActiveReportの帳票→TIFF→BitMapという風に変換することはできました。 ですが、ここで一つ問題が発生しています。 確かに、ファイルの変換はできましたが、解像度が違うのです。 (画像が大きすぎる。) 調べた結果、出力されたビットマップファイルから、必要な部分だけを切り出し、 拡大して、保存すれば、うまくいくのではないかと思い、 以下のようなコードを書きましたが、うまく切り出すことができません。 Dim bmp1 As New Bitmap(Path) Dim bmp2 As New Bitmap(2280, 984) Dim BmpFilePath As String BmpFilePath = Application.StartupPath & "\Print.bmp" bmp1.RotateFlip(RotateFlipType.Rotate90FlipX) Dim g As Graphics = Graphics.FromImage(bmp2) Dim rect As New Rectangle(0, 666, 2280, 984) g.DrawImage(bmp1, rect, 0, 0, 2280, 984, GraphicsUnit.Pixel) bmp2.RotateFlip(RotateFlipType.Rotate90FlipX) bmp2.Save(BmpFilePath, System.Drawing.Imaging.ImageFormat.Bmp) 'オブジェクトを破棄 g.Dispose() bmp1.Dispose() bmp2.Dispose() bmp2.Saveで保存した画像を見ると、2280×984のうちの4分の1くらいに切り取られた画像が表示され、残りは真っ黒になってしまいます。 これを2280×984で保存したいのですが、どのように修正すればいいのでしょうか? どうすればよいのか、助言を頂ければと思います。 |