VBレスキュー(花ちゃん)
VB2005用トップページへVBレスキュー(花ちゃん)のトップページVB6.0用のトップページ各掲示板

リンク元へ戻ります。 描画・画像関係のメニュー
1.Imageコントロールで画像を拡大・縮小・移動表示・印刷する
2.PictureBox コントロールで画像を拡大・縮小表示する
3.網掛け文字を表示及び印字
4.ピクチャーボックス上に円グラフを描画する
5.AVI(アニメーション)ファイルを表示する
6.ピクチャーボックスに表示・描画した画像・文字の保存及び消去方法
7.フォームの背景にグラデーションを描く(VBの標準の機能で)
8.上下左右の鏡像を得る(VBの標準の機能で)
9.ピクチャーを90度毎に回転させて表示(VBの機能で)
10.表示位置・印字位置(文字列)を揃える
11.画像ファイルをスクロール表示しながら連続読み込み
12.メモリDCを使っての画像表示(拡大・縮小・鏡像・180度回転)
13.図形の内部を塗りつぶす
14.
15.
16.
17.
18.
19.
20.その他、当サイト内に掲載の描画・画像に関するサンプル


2.PictureBox コントロールで画像を拡大・縮小表示する
1.PictureBox コントロールで画像を拡大・縮小表示する
2.
3.
4.
5. 
6. 

 下記プログラムコードに関する補足・注意事項 
動作確認:Windows Vista・Windows 7 (32bit) / VB6.0(SP6)
Option :[Option Explicit]
参照設定:追加なし
使用 API:
なし
その他 :
    :
このページのトップへ移動します。 1.PictureBox コントロールで画像を拡大・縮小表示する

Option Explicit   'SampleNo:027  2002.04.29   @ 2006.12.28

Private ZoomSize As Integer '拡大縮小率

'別途コントロールのプロパティで設定でも可
Private Sub Form_Load()
  Form1.WindowState = vbMaximized
  Form1.ScaleMode = vbPixels
  With Picture1        '元の画像の表示用
    .AutoSize = True
    .ScaleMode = vbPixels
    '必要により画像ファイルはご用意下さい
    Set .Picture = LoadPicture("TEST.jpg")
    .Visible = False    '元の画像は非表示に設定
  End With

  With Picture2        '作業用
    .AutoSize = True
    .ScaleMode = vbPixels
    .AutoRedraw = True
    'Set .Picture = LoadPicture("..\TEST.BMP")
    .Move 10, 10
  End With
  ZoomSize = 100
  Call sZoom(ZoomSize)
End Sub

Private Sub Command1_Click()
'クリック毎に10%づつ拡大
  ZoomSize = ZoomSize + 10
  If ZoomSize > 200 Then
    ZoomSize = 200
  End If
  Call sZoom(ZoomSize)

End Sub

Private Sub Command2_Click()
'クリック毎に10%づつ縮小
  ZoomSize = ZoomSize - 10
  If ZoomSize < 50 Then
    ZoomSize = 50
  End If
  Call sZoom(ZoomSize)
End Sub

Private Sub sZoom(ZoomS As Integer)
  Dim p1sw  As Long   'Picture1.ScaleWidth
  Dim p1sh  As Long   'Picture1.ScaleHeight
  Dim p1w   As Long   'Picture1.Width
  Dim p1h   As Long   'Picture1.Height

  '元の画像サイズを取得して、拡大縮小サイズを求める
  With Picture1
    p1sw = .ScaleWidth * (ZoomS / 100)
    p1sh = .ScaleHeight * (ZoomS / 100)
    p1w = .Width
    p1h = .Height
  End With

  'コピー先のサイズを設定する
  With Picture2
    '枠のサイズを考慮して
    .Height = p1h * (ZoomS / 100) - (.Height - .ScaleHeight)
    .Width = p1w * (ZoomS / 100) - (.Width - .ScaleWidth)
    '元画像をサイズ変更して Picture2 にコピー
    .PaintPicture Picture1.Picture, 0, 0, p1sw, p1sh
  End With
End Sub

このページのトップへ移動します。 2.


このページのトップへ移動します。 3.


このページのトップへ移動します。 4.


このページのトップへ移動します。 5.


このページのトップへ移動します。 6.


このページのトップへ移動します。 検索キーワード及びサンプルコードの別名(機能名)
1.Pictureコントロールで画像を拡大
2.Pictureコントロールで画像を縮小



このページのトップへ移動します。