ピクチャーボックス内の画像・文字の保存
                                                        玄関へお回り下さい。
ピクチャーボックスに表示・描画した画像・文字の保存      (087)
    まず、AutoRedraw プロパティを  True にしておきます。
AutoRedraw = True にしておかないとせっかく書いた絵等が他のフォームの後ろになった時等に消えてしまいます。又、ファイルへ保存ができません。但し、読み込んだイメージ等は消えません。


ピクチャーボックスに文字やラインやイメージ等を描画・表示しそれをファイルに保存し、保存したファイルを読み込んで他のピクチャーボックスに表示する、サンプルです。

Option Explicit   'SampleNo=087 WindowsXP VB6.0(SP5) 2002.05.17


Private Sub Form_Load()
  Form1.Move 0, 0, 8600, 5000
  Picture1.Move 375, 225, 3690, 3240
  Picture2.Move 4350, 225, 3690, 3240
End Sub


Private Sub Command3_Click()
'PictureBoxに長方形・文字・円を描く
  'ボックスを描き内部を明るいシアン色に塗りつぶす
  Picture1.Line (350, 170)-(3400, 510), QBColor(11), BF
  With Picture1
    '描画したものを保存する場合Trueにする
    .AutoRedraw = True
    .ScaleMode = vbCharacters  'キャラクターモードに
    .CurrentX = 4        '4桁目
    .CurrentY = 1        '1行目
    .ForeColor = QBColor(12)
    .FontName = "MS 明朝"
    .FontSize = 11
    .FontBold = True
    Picture1.Print "花ちゃんのホームページ"
    .ScaleMode = vbTwips     '既定値戻す
  End With
  Dim CX   As Long
  Dim CY   As Long
  Dim Radius As Long
  Dim Limit As Long
  With Picture1
    .ScaleMode = 3      ' 単位をピクセルに設定します。
    CX = .ScaleWidth \ 2   ' X 座標を設定します。
    CY = .ScaleHeight \ 2  ' Y 座標を設定します。
  End With
  CY = CY + 17
  Limit = 75
  For Radius = 0 To Limit Step 3 ' 半径を設定します。
    '色をランダムに設定して円を描く
    Picture1.Circle (CX, CY), Radius, RGB(Rnd * 255, Rnd * 255, Rnd * 255)
  Next Radius
End Sub


Private Sub Command1_Click()
'表示データをビットマップ形式のデータで保存
  SavePicture Picture1.Image, "MyBmp.bmp"
End Sub


Private Sub Command2_Click()
'保存したデータを読込表示
  Set Picture2.Picture = LoadPicture("MyBmp.bmp")
End Sub





2002/05/17