标题:VB6裁剪图片问题,求帮忙修改好
只看楼主
yuma
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:银河系
等 级:贵宾
威 望:33
帖 子:1883
专家分:2904
注 册:2009-12-22
结帖率:89.13%
已结贴  问题点数:20 回复次数:3 
VB6裁剪图片问题,求帮忙修改好
我想把红方框裁剪并保存下来。但保存下来的总是有多余部分。



程序代码:
Private Sub Form_Load()
Me.Show
Picture1.AutoRedraw = True
Picture2.AutoRedraw = True
Picture1.Picture = LoadPicture("1.BMP")
Picture2.PaintPicture Picture1.Image, 0, 0, Picture1.Width, Picture1.Height, 1100, 0, Picture2.Width, Picture2.Height
sFile = "C:\" & Format(Now, "yyyymmddhhmmss") & ".BMP"
SavePicture Picture2.Image, sFile
MsgBox "当前屏幕图像已经保存到" & sFile, 64
End Sub


VB6裁剪图片.zip (29.39 KB)


[此贴子已经被作者于2020-11-4 14:52编辑过]

搜索更多相关主题的帖子: 保存 图片 VB6 裁剪 修改 
2020-11-04 13:02
cwa9958
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:67
帖 子:247
专家分:1228
注 册:2006-6-25
得分:20 
不知道你的裁剪是作什么的。
这样改试试看。
Picture2.PaintPicture Picture1.Image, 0, 0, 3475, 3255, 1100, 0, 3475, 3255
Picture2.Width = 3475
Picture2.Height = 3255

3475,3255是红色图形的大小,你保存的是picture2,所以,这个控件也要改变大小。
2020-11-05 09:41
yuma
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:银河系
等 级:贵宾
威 望:33
帖 子:1883
专家分:2904
注 册:2009-12-22
得分:0 
回复 2楼 cwa9958
我想问一下,前面一个3475, 3255,和后面的一个3475, 3255,分别代表什么意思?

前面的3475, 3250是不是必须的?

[此贴子已经被作者于2020-11-5 15:13编辑过]


心生万象,万象皆程序!
本人计算机知识网:http://bbs.为防伸手党,本站已停止会员注册。
2020-11-05 12:06
cwa9958
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:67
帖 子:247
专家分:1228
注 册:2006-6-25
得分:0 
前面的数据是代表要在p2里显示的大小,后面的数据是要截取的大小。只要前面的数据大于后面的数据就可以。

你也可以用鼠标来截图。
代码实例:

程序代码:
Dim w1 As Integer, h1 As Integer

Private Sub Picture1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
    w1 = X
    h1 = Y

End Sub

Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)

    Picture1.Cls
    If Button = 1 Then
        Picture1.Line (w1, h1)-(X, h1)
        Picture1.Line (w1, h1)-(w1, Y)
        Picture1.Line (X, h1)-(X, Y)
        Picture1.Line (w1, Y)-(X, Y)
    End If

End Sub

Private Sub Picture1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
    Dim w2 As Integer, h2 As Integer
    On Error Resume Next

    w2 = X - w1
    h2 = Y - h1
    
    Picture2.PaintPicture Picture1.Image, 0, 0, w2, h2, w1, h1, w2, h2
    Picture2.Width = Abs(w2)
    Picture2.Height = Abs(h2)
    
    Picture1.Cls

End Sub


[此贴子已经被作者于2020-11-6 08:20编辑过]

2020-11-06 07:58



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-503762-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.460798 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved