タイトル | : 画像の一部を切り取って保存するには? |
記事No | : 8390 |
投稿日 | : 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で保存したいのですが、どのように修正すればいいのでしょうか?
どうすればよいのか、助言を頂ければと思います。
|