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

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

どうすればよいのか、助言を頂ければと思います。

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

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