PictureBoxに補間して縮小表示した画像(500万画素クラス)をpaintイベントで速やかに再描画させたい
- 題名: PictureBoxに補間して縮小表示した画像(500万画素クラス)をpaintイベントで速やかに再描画させたい
- 著者: mitarashi
- 日時: 2005/02/23 0:09:18
- ID: 9319
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[1]: PictureBoxに補間して縮小表示した画像(500万画素クラス)をpaintイベントで速やかに再描画させたい
- 著者: mor
- 日時: 2005/02/23 1:22:45
- ID: 9320
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[2]: PictureBoxに補間して縮小表示した画像(500万画素クラス)をpaintイベントで速やかに再描画させたい
- 著者: mitarashi
- 日時: 2005/02/23 22:23:55
- ID: 9346
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[3]: PictureBoxに補間して縮小表示した画像(500万画素クラス)をpaintイベントで速やかに再描画させたい
- 著者: mor
- 日時: 2005/02/24 1:34:10
- ID: 9348
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[4]: PictureBoxに補間して縮小表示した画像(500万画素クラス)をpaintイベントで速やかに再描画させたい
- 著者: mitarashi
- 日時: 2005/02/25 23:20:34
- ID: 9363
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[5]: PictureBoxに補間して縮小表示した画像(500万画素クラス)をpaintイベントで速やかに再描画させたい
- 著者: mor
- 日時: 2005/02/26 0:50:23
- ID: 9365
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[5]: PictureBoxに補間して縮小表示した画像(500万画素クラス)をpaintイベントで速やかに再描画させたい
- 著者: おおた
- 日時: 2005/02/26 7:53:56
- ID: 9367
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[6]: PictureBoxに補間して縮小表示した画像(500万画素クラス)をpaintイベントで速やかに再描画させたい
- 著者: mitarashi
- 日時: 2005/02/26 9:45:48
- ID: 9368
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[7]: PictureBoxに補間して縮小表示した画像(500万画素クラス)をpaintイベントで速やかに再描画させたい
- 著者: mitarashi
- 日時: 2005/03/01 23:11:53
- ID: 9435
- この記事の返信元:
- この記事への返信:
- ツリーを表示
分類:[.NET]
はじめまして。EXCEL VBAを経て、VB.NETにチャレンジしているところですが、非常に奥が深いですね。
【解決したい問題】
500万画素級のjpgファイルをPictureBoxに描画し、ウィンドウが隠れたりした場合再描画させたいと考えています。
Tipsにあった情報で、リサイズ方法を指定してのPictureBoxへの描画はできました。
また、これもTipsにあった情報で、paintイベントを用いた、再描画もできました。
ただ、毎回リサイズして描画しているため、遅くて実用的ではありません。
これを毎回リサイズせず、実用的な速度で再描画する方法は無いかと、試行錯誤、WEB検索もしましたが、発見できませんでした。
【解決するために何をしたか】
試行錯誤してみた内容は
1.PictureBox1.Invalidate()では、画像が消されてしまう。
2.それならと、Dim g As Graphics = Graphics.FromImage(PictureBox1.Image)で、PictureBox.Imageプロパティに設定する形で描画すると、再描画は PictureBox1.Invalidate()で速やかに行われるが、肝心の画像の方はg.DrawImage(PictureBox.Image,0,0,x,y)
では縮小されず原寸のまま。
3.g.DrawImageで描画したbitmap自体を取得できないか考えたが、image.FromHbitmap(hdc)とかで可能なのかさっぱり分からない。
といった、ところです。
こんな基本的な事が、容易に実現できない筈はないと思うのですが...
ご教示のほど、お願いします。