VB如何在picture控件内点亮指定范围的image

假设我在picture控件内制作了一张背景A,背景A一直显示。随后将picture控件作为一个容器,里面加入一个image图片B现在我要实现在背景像素坐标(X>100&X... 假设我在picture控件内制作了一张背景A,背景A一直显示。随后将picture控件作为一个容器,里面加入一个image图片B现在我要实现在背景像素坐标(X>100 & X<300,Y>500 & Y<700)(X>800 & X<1000,Y>900 & Y<1100)这个两个范围内点击鼠标,image图像B在这两个范围内显示出来。而且,要实现范围1,范围2同时可以显示,或者任意一个可以显示。不能是显示了一个范围另一个范围就没了。不是上面两个范围,按鼠标没有任何反应。图片显示最好是使用到焦点,不然估计程序太冗长了。最后需要一个清除所有已经显示的图片B的command。请高手给出源码。确定能用就给分,千万别是不动脑筋的复制黏贴。 展开
 我来答
匿名用户
2014-05-19
展开全部
可以用代码实现。
以下代码是我原来做过的实例里剪出来的,你可以参考一下,imgPreview 为Image对象。
Private Type PreviewSize
sngLeft As Single
sngTop As Single
sngWidth As Single
sngHeight As Single
intZoon As Integer
End Type
Private muPreviewSize As PreviewSize
Private Const cmChangeSize = 1.2
'// 缩小
Private Sub Command1_Click()
With muPreviewSize
.intZoon = .intZoon - 1
.sngHeight = .sngHeight / cmChangeSize
.sngWidth = .sngWidth / cmChangeSize
imgPreview.Stretch = True
imgPreview.Move .sngLeft, .sngTop, .sngWidth, .sngHeight
'// 如果已经缩小了9倍则缩小按钮不可用
If .intZoon < -9 Then
Command1.Enabled = False
Command2.Enabled = True
Else
Command2.Enabled = True
End If
End With
End Sub
'// 放大
Private Sub Command2_Click()
With muPreviewSize
.intZoon = .intZoon + 1
.sngHeight = .sngHeight * cmChangeSize
.sngWidth = .sngWidth * cmChangeSize
imgPreview.Stretch = True
imgPreview.Move .sngLeft, .sngTop, .sngWidth, .sngHeight
'// 如果已经放大了9倍则放大按钮不可用
If .intZoon > 9 Then
Command2.Enabled = False
Command1.Enabled = True
Else
Command1.Enabled = True
End If
End With
End Sub
Private Sub Form_Load()
With muPreviewSize
.intZoon = 0
'// + 0.5 为Image的边框
.sngHeight = imgPreview.Height + 0.5
.sngWidth = imgPreview.Width + 0.5
.sngLeft = imgPreview.Left
.sngTop = imgPreview.Top
End With
End Sub
微测检测5.10
2023-05-10 广告
您好!建议咨 深圳市微测检测有限公司,已建立起十余个专业实验室,企业通过微测检测就可以获得一站式的测试与认 证解决方案;(EMC、RF、MFi、BQB、QI、USB、安全、锂电池、快充、汽车电子EMC、汽车手机互 联、语音通话质量),认证遇... 点击进入详情页
本回答由微测检测5.10提供
匿名用户
2014-05-19
展开全部
可以用现歌歌来表事
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式