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.上記実行結果 |
2. |
3. |
4. |
5. |
6. |
検索キーワード及びサンプルコードの別名(機能名) |
1.上下左右の鏡像を得る (ゆう(U)さん投稿分を参考に一部変更しております) |