以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  如何保持截剪框比例  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=143176)

--  作者:刘林
--  发布时间:2019/11/15 20:16:00
--  如何保持截剪框比例
Dim t1 As WinForm.TextBox = e.Form.Controls("textbox1")
Dim proc As new Process
proc.File = ApplicationPath & "capture.exe"
proc.WaitForClose = True
proc.Start
If ClipBoard.GetImage IsNot Nothing Then
    ClipBoard.GetImage.save("d:\\test.jpg")
    Dim pbx2 As WinForm.PictureBox
    pbx2= e.Form.Controls("PictureBox2")
    pbx2.Image = GetImage("d:\\test.jpg")
    t1.text="d:\\test.jpg"
End If

老师,因为有些图片文件的文件为横式,照得不标准,用上面代码是用来裁剪两寸证件照,我想在拉动裁剪框时,宽高比例保持两寸照比例3.4:5.2,请问怎样实现.

--  作者:有点蓝
--  发布时间:2019/11/15 21:16:00
--  
添加一个图片框,控件宽高比例保持两寸照比例3.4:5.2。然后添加图片,运行窗口,可以使用鼠标移动图片合适的位置,再截图。可以通过按钮放大缩小图片

窗口afterlload
dim d as double = 1
vars("w")= d

放大按钮
Dim pic As WinForm.PictureBox = e.Form.Controls("PictureBox1")
pic.Image = Nothing
Dim file As String = "D:\\1.png"
Dim img As image = getimage(file)
Dim w As Integer = img.width * vars("w")
vars("w") += 0.5 \'放大倍数自己控制
Dim bmp As bitmap
bmp = new bitmap(img, w, w * (img.height / img.width))
pic.Image = bmp

缩小按钮
Dim pic As WinForm.PictureBox = e.Form.Controls("PictureBox1")
pic.Image = Nothing
Dim file As String = "D:\\1.png"
Dim img As image = getimage(file)
Dim w As Integer = img.width * vars("w")
vars("w") -= 0.5
Dim bmp As bitmap
bmp = new bitmap(img, w, w * (img.height / img.width))
pic.Image = bmp

--  作者:刘林
--  发布时间:2019/11/15 21:35:00
--  
老师,我现在的情况是先打开的图片,从哪里裁剪起走是不确定,剪的大小也不确定,要是想剪的比例,还有就是想直接拉动裁剪框时,增减高,宽按比例自动增减,增减宽,高也按比例增减
--  作者:有点蓝
--  发布时间:2019/11/15 22:23:00
--  
这种情况没有办法控制。
--  作者:刘林
--  发布时间:2019/11/16 8:44:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:12.rar



老师,上面这个想法不行的话,请你帮看一下之前做的一个过拖动放大缩小的图片的一个窗口例子,我的想法是打开图片文件,在上面放一个正件照比例的固定panl框,不知能不能透明,然后通过拖动或放大缩小图片相对运动,达到要裁剪的图的部分框在panl框内再裁剪成panl框大小的图片,这样估计效果更好,请老师帮研究下如何实现?谢谢!

--  作者:有点蓝
--  发布时间:2019/11/16 9:34:00
--  
搞不定,看看这个吧:http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&Id=52825
--  作者:程兴刚
--  发布时间:2019/11/16 9:35:00
--  
应该可以做到,利用证件照的宽高比,手动确定宽度,代码指定高度,或手动确定高度,用代码指定宽度!
--  作者:刘林
--  发布时间:2019/11/16 15:24:00
--  
图片点击可在新窗口打开查看

--  作者:刘林
--  发布时间:2019/11/16 15:28:00
--  

距想法还差一步,不晓得怎么写,请老师指教


图片点击可在新窗口打开查看此主题相关图片如下:jex8qbw~z{i1y~gyks{{q.png
图片点击可在新窗口打开查看

--  作者:有点蓝
--  发布时间:2019/11/16 15:52:00
--  
如果是使用6楼的用法,直接照抄确定按钮代码即可

如果是其它方法,一样还是使用一楼的方式打开截图,然后根据红框的范围选择不就行了