Foxtable(狐表)用户栏目专家坐堂 → 如何保持截剪框比例


  共有2519人关注过本帖树形打印复制链接

主题:如何保持截剪框比例

帅哥哟,离线,有人找我吗?
刘林
  11楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1938 积分:14865 威望:0 精华:0 注册:2016/4/28 9:58:00
  发帖心情 Post By:2019/11/17 20:06:00 [只看该作者]

老师,我是这样的想法,通过缩放图片、移动图片,将要取图像调到虚框大小再按虚框的坐标位置用代码取图
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:12.rar


昨天都能滚动都能放大缩小,拖动能改变位置,今天不晓得什么可以拖动,但不能缩放大小了呢,是什么地方有问题呢,我没找到请老师帮看下

另外如何用坐标位置来扣出虚框内的这部分图呢
[此贴子已经被作者于2019/11/17 20:09:30编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  12楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107147 积分:544978 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/11/17 20:36:00 [只看该作者]

请上传可以测试的实例

 回到顶部
帅哥哟,离线,有人找我吗?
刘林
  13楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1938 积分:14865 威望:0 精华:0 注册:2016/4/28 9:58:00
  发帖心情 Post By:2019/11/17 20:41:00 [只看该作者]

缩放问题找到了,请问老师现在如何将红虚线内的图用代码截出来,不用下面这个代码去取,因为通过缩放移动到想要的位置,后如双击图片即可取出图来,如图再用剪图代码再沿红线去剪感觉更麻烦,也可能不标准


Dim proc As new Process
proc.File = ApplicationPath & "capture.exe"
proc.WaitForClose = True
proc.Start
If ClipBoard.GetImage IsNot Nothing Then
   
图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看
[此贴子已经被作者于2019/11/17 20:42:53编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  14楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107147 积分:544978 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/11/17 20:56:00 [只看该作者]

我也不懂。建议还是使用截图处理。

 回到顶部
帅哥哟,离线,有人找我吗?
刘林
  15楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1938 积分:14865 威望:0 精华:0 注册:2016/4/28 9:58:00
  发帖心情 Post By:2019/11/17 20:59:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.foxdb


老师,你看一下这个项目文件,
1、我是想加一个panl框来代替红虚框,但背景设置为透明也不能透出图片来,这是什么原因?,没办法就用线段来做的一个。
2、不用项目中的裁剪代码,如何用取图代码来根据红框位置取出图片来?

 回到顶部
帅哥哟,离线,有人找我吗?
程兴刚
  16楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:7235 积分:40574 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2019/11/17 20:59:00 [只看该作者]

红框有x,y或者说Ieft、Top属性,计算出图片和这个红框的差,动态建一个绘图板和红框大小一致,绘制这张图到这个绘图板,Left、Top值就是计算出的对应差的负数值,相信您该知道咋做了,自己练练,这个对您可能有帮助:

[此贴子已经被作者于2019/11/17 20:59:33编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
刘林
  17楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1938 积分:14865 威望:0 精华:0 注册:2016/4/28 9:58:00
  发帖心情 Post By:2019/11/17 21:02:00 [只看该作者]

程老师,这个看不懂,请帮写一个,谢谢

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  18楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107147 积分:544978 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/11/18 9:31:00 [只看该作者]

截图按钮

Dim Lineleft As WinForm.Line = e.Form.Controls("Lineleft")
Dim Linetop As WinForm.Line = e.Form.Controls("Linetop")
Dim Lineright As WinForm.Line = e.Form.Controls("Lineright")
Dim Linebottom As WinForm.Line = e.Form.Controls("Linebottom")
Dim PictureBox5 As WinForm.PictureBox = e.Form.Controls("PictureBox5")
Dim point As Point = e.Form.panel.PointToScreen(new point(Lineleft.Left+10,Lineleft.Top))

Lineleft.Visible = False
Linetop.Visible = False
Lineright.Visible = False
Linebottom.Visible = False
Application.Doevents

Dim myGraphics As Graphics = basemainform.CreateGraphics()
Dim s As new Size(Linetop.Width, Lineleft.Height) '截取的大小
Dim bit As New Bitmap(s.Width, s.Height , myGraphics)
Dim memoryGraphics As Graphics = Graphics.FromImage(bit)
memoryGraphics.CopyFromScreen(point.x, point.y, 0, 0, s) '截取的开始位置,坐标(100, 200)
bit.save(ProjectPath & "123.jpg")
memoryGraphics.dispose
myGraphics.dispose
bit.dispose
Application.Doevents
e.Form.Controls("PictureBox2").image = getimage(ProjectPath & "123.jpg")


Lineleft.Visible = True
Linetop.Visible = True
Lineright.Visible = True
Linebottom.Visible = True

 回到顶部
帅哥哟,离线,有人找我吗?
刘林
  19楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1938 积分:14865 威望:0 精华:0 注册:2016/4/28 9:58:00
  发帖心情 Post By:2019/11/18 17:33:00 [只看该作者]

太谢谢老师了,终于实现了想法,比之前的的裁剪方案好多了,因为之前用户裁剪出来的图比例混乱,现在爽多了


 回到顶部
帅哥哟,离线,有人找我吗?
刘林
  20楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1938 积分:14865 威望:0 精华:0 注册:2016/4/28 9:58:00
  发帖心情 Post By:2019/11/18 18:16:00 [只看该作者]

现在都可以了,但又出一个新问题,当打开的文件有几M时box5就是一块土白,不能显示图,这怎么是好

 回到顶部
总数 21 上一页 1 2 3 下一页