在vb 中使用 image 控件实现图片水平翻转

来源:百度知道 编辑:UC知道 时间:2024/06/13 15:48:02
有两个控件image1 和 image2及一个按钮command1 ,image1中存在一张图片,当按下按钮command1时将其在image1中的图片水平翻转显示在image2中同时image1中的图片不会消失,只实现上述效果的简单程序就可以了,希望有关人士可以帮助解答,在此感激不尽会有分数相送!但不要在网上下载,因为本人已经看过很多这样的例子但都不符合要求所以最好自己编写一个!再次感谢!
我的目的就是让图片完整的显示时在图象框中,而不是将图片框中半个图片显示在图像框中我的目的是实现图片看上去是在原位置水平翻转,我用了很多王法都不行,因为图片框如果大小改变的话图片就被剪了,就不能实现这种效果了。

用 image 控件无法实现,用Picture1、 Picture2 可以实现。如果非要用 image1,翻转后再复制到 image1
Private Sub Form_Load()
Picture2.AutoRedraw = True
Picture1.Picture = Me.Icon '也可以装载图片文件:Picture1.Picture =LoadPicture("C:\my.bmp")
End Sub

Private Sub Command1_Click()
W = Picture1.Width: H = Picture1.Height
Picture2.PaintPicture Picture1.Picture, W, 0, -W, H, 0, 0, W, H
Image1.Picture = Picture2.Image '复制到 image1
End Sub

补充:----------------------------------
你可以将控件的 AutoSize 属性设置为 True 呀。
见下:
Private Sub Form_Load()
Picture1.AutoSize = True
Picture2.AutoRedraw = True
Picture1.Picture = Me.Icon '也可以装载图片文件:Picture1.Picture =LoadPicture("C:\my.bmp")
End Sub

Private Sub Command1_Click()
Dim W As Single, H As Single, W1 As Single
Picture2.Width = Picture1.Width: Picture2.Height = Picture1.Height
W1 = (Picture2.Width - Pictu