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.その他、当サイト内に掲載の描画・画像に関するサンプル


1.Imageコントロールで画像を拡大・縮小・移動表示・印刷する
1.画像のサイズを取得及び Image コントロールに表示
2.画像を拡大・縮小表示する
3.画像を上下左右に移動表示する
4.Image コントロールに表示している画像の印刷(4方法)
5. 
6. 

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

Option Explicit   'SampleNo:030  2002.04.30   @ 2006.12.28

'このページに掲載のサンプル共通の変数の宣言
Dim lngImageHeight As Long '画像の元の表示サイズ
Dim lngImageWidth As Long '画像の元の表示サイズ
Dim lngX      As Long '画像の表示位置用
Dim lngY      As Long '画像の表示位置用

Private Sub Command1_Click()
'Image コントロールに画像を表示する
  Image1.Move 50, 50       '初期表示位置
  If lngImageHeight = 0 Then   '初めてクリックした時
    'Image コントロール / PictureBox に画像を読込まないで画像のサイズを取得
    Dim p As Picture
    '表示する画像は用意しておいて下さい。
    Set p = LoadPicture("..\image.jpg")

    '取得できるサイズの単位は、HiMetric (0.01 ミリメートル単位なので Twip に変換
    lngImageHeight = CLng(Me.ScaleY(p.Height, 8, vbTwips))  '変数に元の画像サイズを記録する
    lngImageWidth = CLng(Me.ScaleX(p.Width, 8, vbTwips))
  End If
  'Image コントロールのサイズに合うように画像のサイズを変更する。
  Image1.Stretch = True
  Image1.Height = lngImageHeight '画像のサイズに Image1 のサイズを合わせる
  Image1.Width = lngImageWidth  '元の画像のサイズの大きさで表示する
  Image1.Picture = p
End Sub

このページのトップへ移動します。 2.画像を拡大・縮小表示する

Private Sub Command2_Click()
'画像を拡大表示する
  '拡大のMAXの設定
  If lngImageHeight * 2 <= Image1.Height Then Exit Sub
  'イメージのサイズが変更できるように
  Image1.Stretch = True
  'クリックの都度10%づつ拡大する
  Image1.Height = Image1.Height * 1.1
  Image1.Width = Image1.Width * 1.1
End Sub

Private Sub Command3_Click()
'画像を縮小表示する
  '縮小のMAXの設定
  If lngImageHeight * 0.3 >= Image1.Height Then Exit Sub
  'イメージのサイズが変更できるように
  Image1.Stretch = True
  'クリックの都度10%づつ縮小する
  Image1.Height = Image1.Height * 0.9
  Image1.Width = Image1.Width * 0.9
End Sub

このページのトップへ移動します。 3.画像を上下左右に移動表示する

Private Sub Command4_Click()
'クリックする度に500Twip 上に移動
  Image1.Move (Image1.Left), (Image1.Top - 500)
End Sub

Private Sub Command5_Click()
'クリックする度に500Twip 下に移動
  Image1.Move (Image1.Left), (Image1.Top + 500)
End Sub

Private Sub Command6_Click()
'クリックする度に500Twip 左に移動
  Image1.Move (Image1.Left - 500), (Image1.Top)
End Sub

Private Sub Command7_Click()
'クリックする度に500Twip 右に移動
  Image1.Move (Image1.Left + 500), (Image1.Top)
End Sub

このページのトップへ移動します。 4.Image コントロールに表示している画像の印刷(4方法)

Private Sub Command8_Click()
'Image コントロールに表示している画像の印刷(4方法)
  Dim lngHeight  As Long
  Dim lngWidth   As Long
  Dim sngHZoomRitu As Single
  Dim sngWZoomRitu As Single

  'スケールモードを  1 twip 単位に
  'Image1.ScaleMode = vbTwips
  Printer.ScaleMode = vbTwips

  '用紙サイズをA4に設定
  Printer.PaperSize = vbPRPSA4
  '用紙方向を横向きに設定
  Printer.Orientation = vbPRORLandscape


  '実寸で印刷
  Printer.PaintPicture Image1, 0, 0
  Printer.NewPage   '改ページ

  '用紙サイズいっぱいに拡大・縮小して印刷
  Printer.PaintPicture Image1, 0, 0, Printer.Width, Printer.Height
  Printer.NewPage   '改ページ


  '上記だと縦横比が変化して変な形に拡大・縮小されるので
  'Imageファイルの寸法を取得
  lngHeight = Image1.Height
  lngWidth = Image1.Width
  '拡大・縮小率を計算
  sngHZoomRitu = Printer.Height / lngHeight
  sngWZoomRitu = Printer.Width / lngWidth

  '元のサイズの縦横比で用紙いっぱいに拡大・縮小
  If sngHZoomRitu < sngWZoomRitu Then
    lngHeight = lngHeight * sngHZoomRitu
    lngWidth = lngWidth * sngHZoomRitu
  Else
    lngHeight = lngHeight * sngWZoomRitu
    lngWidth = lngWidth * sngWZoomRitu
  End If
  'lngWidth, lngHeightを指定すれば好みのサイズで印刷できる
  Printer.PaintPicture Image1, 0, 0, _
             lngWidth, lngHeight
  Printer.NewPage   '改ページ


  '画像ファイルを指定して印刷
  Printer.PaintPicture LoadPicture("..\hina01.jpg"), 0, 0

  Printer.EndDoc   ' 印刷開始
End Sub

 ピクチャーボックス上の画像を印刷する場合は、
 ピクチャーボックス上のグラフィックスを印刷する

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


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


このページのトップへ移動します。 検索キーワード及びサンプルコードの別名(機能名)
Image コントロール に画像を読込まないで画像のサイズを取得   PictureBox に画像を読込まないで画像のサイズを取得  画像を実寸で印刷  画像を用紙サイズいっぱいに拡大・縮小して印刷
元のサイズの縦横比で用紙いっぱいに拡大・縮小して印刷  画像を好みのサイズで印刷 画像ファイルを指定して印刷 1.Imageコントロールを使って画像を拡大・縮小表示する 2.Imageコントロールの画像を印刷する(4方法) 3.Imageコントロールの画像を移動する 4.Imageコントロールの画像をドラッグ・アンド・ドロップで移動する


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