LoadPictureした画像をピクチャーボックスのサイズに合わせるには?

解決


Hiroyuki  2004-09-29 10:40:39  No: 116620  IP: [192.*.*.*]

固定されたピクチャーボックスのサイズに合わせて画像をLoadPictureするには、
どのようにすればよろしいのでしょうか?
7月5日の質問に私の質問と同じ内容が載っていたのですが、
「PaintPicture  メソッドを使えば、いいのでは?」  と言う回答で質問者もご理解してたようですが、具体的に教えていただけないでしょうか?
一度、仮のピクチャーボックスにロードして置いてから、PaintPictureメソッドで
目的のピクチャーボックスにサイズを変更して移すという事でしょうか?
もっと直積ロードするような方法があると思ったので質問しました。
多分、PaintPictureメソッドの最初の引数である Picture As StdPictureのところにロードする画像ファイルのイメージを書き込めばよいと思ったのですが、
そんな方法はありませんか?  初心者です、よろしくお願いします

編集 削除
みい  2004-09-29 12:24:23  No: 116621  IP: [192.*.*.*]

LoadPictureでロードした画像をPaintPictureで特定のサイズだけ書込なら
仮のピクチャーボックスに入れなくても

Picture1.PaintPicture LoadPicture(画像ファイル名), 0, 0, Picture1.Width, Picture1.Height, 0, 0, Picture1.Width, Picture1.Height

でできると思います。

編集 削除
Hiroyuki  2004-09-29 16:23:15  No: 116622  IP: [192.*.*.*]

みいさん  ありがとうございます
私の本来の質問に対しては大方解決しました。しかしPaintPicture メソドの最後の二つの引数はこれから転送しようとしている原画像の幅と高さなので実際にはまだうまくいきません。画像ファイル名から画像の幅と高さが分からないものでしょうか?
さらにもう一つ予期しない現象が出てきました!
ピクチャーボックスには外にラベルがあったのですが、ご指摘の方法だと何故かラベルのBackStyleが透明だったはずが不透明になってしまうのです。
何か思いつくことでもありましたら教えて下さい。

編集 削除
nanashi  2004-09-29 17:04:59  No: 116623  IP: [192.*.*.*]

> 画像ファイル名から画像の幅と高さが分からないものでしょうか?

一度StdPictureオブジェクトにLoadPictureすればオブジェクトのプロパティから高さと幅が分かります。

編集 削除
みい  2004-09-29 17:15:09  No: 116624  IP: [192.*.*.*]

画像がピクチャーボックスのサイズに合わせて拡大縮小されてよいのであれば、最後の2つの引数を省略すればいいですよ。
Picture1.PaintPicture LoadPicture(画像ファイル名), 0, 0, Picture1.Width, Picture1.Height, 0, 0
それとも原画像の方が小さいケースのことを言われているのでしょうか。

編集 削除
Hiroyuki  2004-09-30 07:30:00  No: 116625  IP: [192.*.*.*]

みいさん、nanashiさんありがとうございました
サイズの問題は解決しました
但し前に書いたように、ピクチャーボックスには  透明なラベルがあるのですが
単にLoadPictureするだけなら透明のままなにに、PaintPicture メソドを使う方法だと、何故か不透明になってしまいます。
まあ、これは別の問題なのでなんとか自分でやっつけるよう努力します。
またよろしくお願いします

編集 削除