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


8.上下左右の鏡像を得る(VBの標準の機能で)
1.上下左右の鏡像を得る(VBの標準の機能で)
2.
3.
4.
5. 
6. 

 下記プログラムコードに関する補足・注意事項 
動作確認:Windows Vista・Windows 7 (32bit) / VB6.0(SP6)
Option :[Option Explicit]
参照設定:追加なし
使用 API:
なし
その他 :
    :
このページのトップへ移動します。 1.上下左右の鏡像を得る(VBの標準の機能で)

Option Explicit   'SampleNo:056  2002.05.13   @ 2007.01.18

'ゆう(U)さん投稿分サンプルを元に一部変更を加えております。
'過去のログ No.280 を参照願います。1999/3/23(火)13:57分
'http://hanatyan.sakura.ne.jp/vbdengon/log_251to300.htm
Private Sub Command1_Click()
  Dim sngWidth As Single    '絵の幅(ピクセル)
  Dim sngHeight As Single    '絵の高さ(ピクセル)

  With Picture1
    sngWidth = .ScaleX(.ScaleWidth, .ScaleMode, vbPixels)
    sngHeight = .ScaleY(.ScaleHeight, .ScaleMode, vbPixels)
  End With

  With Picture2
    .Parent.ScaleMode = vbPixels
    .ScaleMode = vbPixels
    'サイズ調整、()部分は枠の幅です、枠有り無しどっちでもOK
    .Move .Left, .Top, sngWidth + (.Width - .ScaleWidth), _
                  sngHeight + (.Height - .ScaleHeight)
    .Refresh '(AutoRedraw=False)用
    '左右の鏡像の場合
    .PaintPicture Picture1.Picture, sngWidth - 1, 0, -sngWidth
    '一旦鏡像を保存
    SavePicture .Image, "MyBmp.bmp"
  End With

  'Picture5.Visible =False :Picture5.AutoSize =True で
  '保存したBMPを非表示で読込
  Set Picture5.Picture = LoadPicture("MyBmp.bmp")

  With Picture3
    .Parent.ScaleMode = vbPixels
    .ScaleMode = vbPixels
    'サイズ調整、()部分は枠の幅です、枠有り無しどっちでもOK
    .Move .Left, .Top, sngWidth + (.Width - .ScaleWidth), _
                  sngHeight + (.Height - .ScaleHeight)
    .Refresh '(AutoRedraw=False)用
    '上下の鏡像の場合
    .PaintPicture Picture1.Picture, 0, sngHeight - 1, sngWidth, -sngHeight
  End With

  With Picture5
    sngWidth = .ScaleX(.ScaleWidth, .ScaleMode, vbPixels)
    sngHeight = .ScaleY(.ScaleHeight, .ScaleMode, vbPixels)
  End With

  With Picture4
    .Parent.ScaleMode = vbPixels
    .ScaleMode = vbPixels
    'サイズ調整、()部分は枠の幅です、枠有り無しどっちでもOK
    .Move .Left, .Top, sngWidth + (.Width - .ScaleWidth), _
                  sngHeight + (.Height - .ScaleHeight)
    .Refresh '(AutoRedraw=False)用
    '上下の鏡像の場合
    .PaintPicture Picture5.Picture, 0, sngHeight - 1, sngWidth, -sngHeight
  End With
End Sub

Private Sub Form_Load()
  Set Picture1.Picture = LoadPicture("..\hina01.jpg")
End Sub

  図1.上記実行結果
 drawing08_01

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


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


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


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


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


このページのトップへ移動します。 検索キーワード及びサンプルコードの別名(機能名)
1.上下左右の鏡像を得る
(ゆう(U)さん投稿分を参考に一部変更しております)



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