2つのPictureBoxを一つの画像で保存したいのですが

解決


A-  2005-12-20 18:03:34  No: 93336

立方体を回転させた図を2つのPictureBoxに表示しています。
それを1つの画像ファイル(BMP)として保存したいのですがいい方法は無いでしょうか?
OSはwindows2000でVB6.0-SP5を使っています。


ガッ  2005-12-20 21:19:30  No: 93337

「いい方法」という方法を探しだす方法があればいいんだけどね  ('A`)
「2つを1つにする」という操作が曖昧すぎて何とも言えません
(画像1を画像2で上書きして1つになったからOK、って言うわけではないでしょう?)

単純に"横に並べて/縦に並べて"なら、
"横/縦に描写したもの"をSavePictureメソッドで保存してみては?


A-  2005-12-20 22:34:22  No: 93338

ガッさんお返事ありがとうございます。
また、書き方が曖昧ですいません。
私がしたかった事は横に並べたものを1つの画像にすることです。
画像の結合といえばわかるでしょうか?

>"横/縦に描写したもの"をSavePictureメソッドで保存してみては?
つまり新しいPictureBoxを作って、
そこに画像1・2を横に並べたように描画するって事ですか?
また、立方体はLineメソッドを使って描いたもので
もととなる画像ファイルは無いのですがそれでもいけますか?


ガッ  2005-12-20 22:49:21  No: 93339

> 画像の結合といえばわかるでしょうか?
どちらかというと「私がしたかった事は横に並べたものを1つの画像にすることです。」の一文の方が分かりやすいですね(^^

> つまり新しいPictureBoxを作って、
> そこに画像1・2を横に並べたように描画するって事ですか?
そういうことです。

> また、立方体はLineメソッドを使って描いたもので
> もととなる画像ファイルは無いのですがそれでもいけますか?
イケるみたいです。

しかし私も詳しくは分からないので、とりあえずためしてみました。
コピペして実行すると、二つの色違いで大きさも違う円が描写されたビットマップ、
hoge.bmpがカレントディレクトリにできます。

Option Explicit

Private pic1            As PictureBox
Private pic2            As PictureBox
Private pic3            As PictureBox

Private Sub Form_Load()
    Me.ScaleMode = vbPixels
    Set pic1 = CreatePictureBox("pic1")
    Set pic2 = CreatePictureBox("pic2")
    Set pic3 = CreatePictureBox("pic3")
    pic3.Move 0, 0, 200, 100
    pic1.Circle (50, 50), 25, QBColor(1)
    pic2.Circle (50, 50), 35, QBColor(2)
    pic3.PaintPicture pic1.Image, 1, 1, 100, 100
    pic3.PaintPicture pic2.Image, 100, 1, 100, 100
    pic3.Visible = True
    SavePicture pic3.Image, "hoge.bmp"
End Sub

Function CreatePictureBox(ByVal Name As String) As PictureBox
    Set CreatePictureBox = Me.Controls.Add("VB.PictureBox", Name)
    With CreatePictureBox
        .ScaleMode = vbPixels
        .Move 0, 0, 100, 100
        .AutoRedraw = True
    End With
End Function


A-  2005-12-21 13:18:24  No: 93340

ガッさんが書いてくれたプログラムで上手くいけそうです。
あとは、自分用に少しいじるだけです^^
ガッさん、ありがとうございましたm(_ _)m


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

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







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