求助:vb图片随图片框大小变化

zhangtac111 2010-07-04 03:01:27
Option Explicit


Private Sub CmdendEX_Click()
Picture1.Top = 0
Picture1.Width = 10800
Picture1.Left = 0
Picture1.Height = 9000
Picture1.Scale (-900, 1000)-(900, -500)
Picture1.PaintPicture Picture1.picture, -900, 1000, Picture1.Width, Picture1.Height
End Sub

Private Sub CmdEX_Click()
Picture1.Top = 1200
Picture1.Width = 7200
Picture1.Left = 1530
Picture1.Height = 6000
Picture1.Scale (-900, 1000)-(900, -500)
Picture1.PaintPicture Picture1.picture, -900, 1000, Picture1.Width, Picture1.Height
End Sub


Private Sub Form_Load()
Picture1.PaintPicture Picture1, 0, 0, Picture1.Width, Picture1.Height
Picture1.Scale (-900, 1000)-(900, -500)
End Sub

我的picture1的autosize属性设置为false,autoredraw设置为true,我是想让图片随着图片框大小变化,cmdex为按钮
...全文
422 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhangtac111 2010-07-07
  • 打赏
  • 举报
回复
虽然都没有从根本上解决我的问题,但还是要感谢大家的回复,尤其是ldy888的用心良苦,还有xuggzu
SYSSZ 2010-07-04
  • 打赏
  • 举报
回复
Private Sub Command1_Click() '把你所有图片放进ImageList1
Static i As Integer
i = i + 1
Picture1.PaintPicture ImageList1.ListImages(i).Picture, 0, 0, Picture1.Width, Picture1.Height
If i >= ImageList1.ListImages.Count Then i = 0
End Sub
ldy888 2010-07-04
  • 打赏
  • 举报
回复
这个是简单的办法,
不影响图片框中放其他控件

Private Sub CmdendEX_Click()
Picture1.Top = 0
Picture1.Width = 10800
Picture1.Left = 0
Picture1.Height = 9000
Image1.Move 0, 0, Picture1.Width, Picture1.Height
End Sub

Private Sub CmdEX_Click()
Picture1.Top = 1200
Picture1.Width = 7200
Picture1.Left = 1530
Picture1.Height = 6000
Image1.Move 0, 0, Picture1.Width, Picture1.Height
End Sub


Private Sub Form_Load()
Set Image1.Container = Picture1
Image1.Move 0, 0, Picture1.Width, Picture1.Height
Image1.Stretch = True
Image1.Visible = True
Image1.Picture = LoadPicture("c:\00111.gif")
Image1.ZOrder 1
End Sub
zhangtac111 2010-07-04
  • 打赏
  • 举报
回复
Cmdex按下时,图片没有按比例缩小,唉,该怎么办??
zhangtac111 2010-07-04
  • 打赏
  • 举报
回复
我的图片框原来属性是picture1.width=10800,picture1.height=9000,点击Cmdex后图片框缩小,图像也随着缩小,当点击Cmdendex时,图片框恢复原来大小,图像也是,我定义的坐标是在图片框里有个小image控件按预定轨迹运动
xuggzu 2010-07-04
  • 打赏
  • 举报
回复
楼主的代码基本可以实现,只是楼主应该把按钮的功能解释一下,不然其他人看不明白。
另外,建议使用api建立图像内存dc,然后使用stretchblt函数随你怎么方法缩小。这种图像处理代码百度应该很多。
ldy888 2010-07-04
  • 打赏
  • 举报
回复
PaintPicture 方法比较难于理解,度量转换也麻烦。
还有一个简单的办法
image 隐藏, 调整picture1的时候,同样调整image 的大小。
最后 picture1.picture = image1.image' 同样实现了 图像随picture大小变化的效果
zhangtac111 2010-07-04
  • 打赏
  • 举报
回复
我的代码,实现不了,不知哪里出错,希望各位大仙能帮着改一下,图片随着图片框大小变化。
至于用image,不能满足我的工程要求,我要在图片框中加入其他控件,以picturebox中图片为背景,不然我也不用如此费劲了,谢谢各位回复!!!
bcrun 2010-07-04
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 zhangtac111 的回复:]
我知道,但我图片框中还要放其他控件,所以……image不可以作为其他控件的容器,没办法只能用picturebox了
[/Quote]
你把Image放在PictureBox里不就得了:)
xuggzu 2010-07-04
  • 打赏
  • 举报
回复
。。。不明白楼主想问什么?
光是发一段代码,想说明什么?
zhangtac111 2010-07-04
  • 打赏
  • 举报
回复
我知道,但我图片框中还要放其他控件,所以……image不可以作为其他控件的容器,没办法只能用picturebox了
ldy888 2010-07-04
  • 打赏
  • 举报
回复
用image对象吧,很方便
Image1.Stretch = true
Stretch 属性
返回或设置一个值,该值用来指定一个图形是否要调整大小,以适应与 Image 控件的大小。

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧