以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]如何实现截图的效果(已解决)  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=101805)

--  作者:yyzlxc
--  发布时间:2017/6/7 13:42:00
--  [求助]如何实现截图的效果(已解决)
1、如何将PictureBox1(原图)线框内的部分,在PictureBox2(截图)内显示。
2、将PictureBox2内显示截图效果的图片,保存到B文件夹(要求文件大小在20K左右)。
请各位老师指教,谢谢!


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



[此贴子已经被作者于2017/6/8 9:21:07编辑过]

--  作者:有点色
--  发布时间:2017/6/7 14:37:00
--  

 

Dim pbx1 As WinForm.PictureBox = Forms("窗口1").Controls("PictureBox1")
Dim pbx2 As WinForm.PictureBox = Forms("窗口1").Controls("PictureBox2")
Dim img = pbx1.image
Dim bl1 As Double = img.width / pbx1.width
Dim Top As Double = (pbx1.height - img.height / bl1) / 2
Dim bmp As new bitmap(cint(kxs*bl1), cint(gxs*bl1))
Dim g = graphics.fromimage(bmp)
Dim x As Integer = xzzb*bl1
Dim y As Integer = (yzzb-Top)*bl1
Dim w As Integer = bmp.width
Dim h As Integer = bmp.height
g.DrawImage(img, new Rectangle(0, 0, w, h), new Rectangle(x, y, w, h), GraphicsUnit.Pixel)

pbx2.image = bmp

bmp.save(ProjectPath & "B\\" & Tables("照片").Current("原图"))


--  作者:yyzlxc
--  发布时间:2017/6/7 15:14:00
--  
谢谢有点色老师的指教,截图部分后面再加一句 “pbx2.SizeMode = ImageSizeMode.Zoom",达到完美。
但是保存部分感到有点问题,我将一个1.9M的jpg文件放在A文件夹,截图的图像符合要求,但是保存的截图文件却达到近5个M,(其它的BMP文件基本上都在30-40K左右),不知何故,请老师指教,谢谢了!!

--  作者:yyzlxc
--  发布时间:2017/6/7 15:15:00
--  
如何能够将文件再压缩到20K左右,还望老师指教,谢谢!!
--  作者:有点色
--  发布时间:2017/6/7 15:59:00
--  

 压缩,参考这里的代码

 

http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=101560&skin=0

 


--  作者:yyzlxc
--  发布时间:2017/6/8 9:21:00
--  
谢谢老师的指教,问题得到完美解决,再次衷心感谢有点色老师!!