BitBltで画面サイズより大きな画像を縮小するには?

解決


水無月  2004-06-23 15:23:24  No: 114180  IP: [192.*.*.*]

BitBltを使ってピクチャボックスに表示した画像を別のピクチャボックスに表示するものを作っています。
小さい画像の場合はいいのですが、画面より大きな画像(ピクチャボックス)を縮小表示しようとすると、画面よりはみ出た部分が縮小表示されません。
なにか対策方法がありましたらお教え下さい。
使用OSはXP,VBはVer6 SP5を使用しています。  よろしくお願いいたします。

編集 削除
マグ  2004-06-23 16:44:24  No: 114181  IP: [192.*.*.*]

それを画像の形を変えてしまうのではないでしょうか?
保存するときに困りませんか?

スクロールバーで移動というのはどうでしょうか?
これなら、画像の形自体を変えずに保存するときに困りませんし、
画像全体がどうなっているのか把握できると思います。

編集 削除
Say  2004-06-23 16:52:44  No: 114182  IP: [192.*.*.*]

BitBltは等倍コピー用です。
拡大縮小したかったら、
StretchBltを使ってください。

また、Stretch = Trueにした
Imageコントロールに読み込む、という手もあります。

編集 削除
水無月  2004-06-24 08:58:22  No: 114183  IP: [192.*.*.*]

すみません。
BitBltではなく、よく見たらStretchBltを使ってやってました(汗)
実は、元画像が大きい際にはスクロールバーでスクロール表示させ(←この部分は成功)、その画像を 640 * 480 くらいに縮小して保存するツールが出来たらなぁ…と思って挑戦してました(まだ縮小表示から先に進めませんです)。
すみません。  お知恵をお貸し下さい。

編集 削除
マグ  2004-06-24 14:01:12  No: 114184  IP: [192.*.*.*]

では、WidthとHeightで直接行ってみてはどうでしょうか?

編集 削除
水無月  2004-06-28 13:35:27  No: 114185  IP: [192.*.*.*]

いろいろなかたがたにアドバイスしていただき、本当にありがとうございました。m(__)m
もう少しいろいろやってみます。

編集 削除
ポテチ  2004-06-28 13:51:42  No: 114186  IP: [192.*.*.*]

>画面より大きな画像(ピクチャボックス)を縮小表示しようとすると
>画面よりはみ出た部分が縮小表示されません。

ちょっと、確認したいことがあるのですが
水無月さんのFormのAutoRedrawプロパティはTrueになってます
でしょうか?
念のため・・・

編集 削除
ポテチ  2004-06-28 16:12:24  No: 114187  IP: [192.*.*.*]

>FormのAutoRedrawプロパティ

正確に言うとコピー元のピクチャーボックスの
FormのAutoRedrawプロパティです。

編集 削除
水無月  2004-06-29 08:43:25  No: 114188  IP: [192.*.*.*]

>FormのAutoRedrawプロパティ
今確認しましたところ、なんとコピー元のフォーム、ピクチャボックスともAutoRedrawがFalseになっていました。  コピー先はいろいろいじったのですがコピー元をやっておかなかったのとは、まったくもっておばかさんでした。
しっかりと縮小した画像が表示されました!
みなさま本当にありがとうございましたm(__)m

編集 削除
水無月  2004-06-29 08:49:08  No: 114189  IP: [192.*.*.*]

↑(上の発言の訂正)
コピー元のピクチャボックスは画像読み込み終了とともにAutoRedraw=Trueにしていましたが、FormのAutoRedrawをFalseのままにしていました。

いづれにせよ皆様にご迷惑をおかけいたしました。
本当にありがとうございました。

編集 削除