ピクチャボックスのLoadPictureで、画像を表示させる際に、ピクチャボックスのサイズまで並べて表示するには?

解決


ジャギャ  2005-04-28 01:02:58  No: 121318

壁紙みたいに小さな画像を画面一杯に並べて表示させるように、
ピクチャボックスで読み込ませた画像をそのピクチャボックスのサイズ一杯に
並べて表示させるにはどうしたらいいのでしょうか?
環境は、WinXPのVB6.0です。
どなたかご教示願います。


ねろ  2005-04-28 02:58:04  No: 121319

元になる画像を読み込ませるPictureBoxをPicture1として
並べて貼り付けるPictureBoxをPicture2とすると
Picture1とPicture2の横(ScaleWidth)と縦(ScaleHeight)
の比を求めて、BitBltでPicture1の画像をPicture2に貼り付けて
いく方法があるかな。
ちょっとコアの部分だけ書くと下の様になる。

Private Const SRCCOPY = &HCC0020        
For n = 0 To Picture1.ScaleHeight \ Picture2.ScaleHeight + 1
    For m = 0 To Picture1.ScaleWidth \ Picture2.ScaleWidth + 1
        BitBlt Picture1.hdc, m * Picture2.ScaleWidth, n * Picture2.ScaleHeight, _
        Picture2.ScaleWidth, Picture2.ScaleHeight, _
        Picture2.hdc, 0, 0, SRCCOPY
    Next
Next


ジャギャ  2005-04-28 18:08:14  No: 121320

その方法で並べて表示することができました!
ねろさんありがとうございました。
ただ、ねろさんが書いてくれたコードは、
元になる画像をpicture2として
並べて貼り付けるPictureBoxをPicture1とした場合ですね^^;


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加