小第最近遇到这个难题,不知如何下手!!
要实现的功能是 左键在tif图像上实现区域选取,出现一个矩形框,之后就是对选取的区域的部分进行局部放大查看,效果要清晰的 。
不要告诉我用这个函数哟StretchBlt
这个放大的效果极不清晰。
请教中............
email: [email protected]
高分求教!!
要实现的功能是 左键在tif图像上实现区域选取,出现一个矩形框,之后就是对选取的区域的部分进行局部放大查看,效果要清晰的 。
不要告诉我用这个函数哟StretchBlt
这个放大的效果极不清晰。
请教中............
email: [email protected]
高分求教!!
Me.ImgEdit1.Image = "e:\test.tif"
Me.ImgEdit1.Display
End SubPrivate Sub Command2_Click()
Me.ImgEdit1.ZoomToSelection
End Sub
如果感到效果不满意的话,可以考虑根据根据一定的算法进行缩放(如插值法)
刚才楼上那位,我这没有imgedit控件的手册资料!!
我按你的试了试,出现错误:
需要选取所选的矩形范围。
Unable to zoom to the selection!
怎么来选取矩形框,我认为这个是重点,在把数据返回到zoomtoselection方法中??
怎么实现。。
选取矩形框我用SelectionRectangle方法没什么反映!
真是郁闷!
望不吝赐教!
再线等.........
提供一个思路,不知是否可行,供楼主参考
我写过一个BMP图片处理的小工具,主要对图片做一些比较特殊的处理,其中对图片放大的功能我采用的这种方式:
获得所选择区域中的每个象素点的颜色值,然后按象素点的坐标在显示区一一对应绘出2X2或4X4(依放大倍数而定)的矩形,并用该点的颜色填充矩形,这样就获得了一个放大N倍的图形,效果还可以,楼主不妨一试。
http://www.fantasiasoft.net/Zyl910/zScale.zip//选取矩形框后会产生个什么事件吗??会产生SelectionRectDrawn事件:Private Sub ImgEdit1_SelectionRectDrawn(ByVal Left As Long, ByVal Top As Long, ByVal Width As Long, ByVal Height As Long)
End Sub
我主要是要实现这个功能的。
这个例子http://www.fantasiasoft.net/Zyl910/zScale.zip讲的是对某一幅bmp /jpg/gif的整个比例的缩放,我现在关键是不知道如何 在一个整图中提取所选的部分的图像。
firechun(天火) 所说的的那个方法取所选区域的像素点值,我试试看。谢谢....
望各位再次解答............
对BMP来说,直接从文件中获取指定块的数据很简单,可以根据矩形的Left,Top直接在文件中找到数据的起始位移,并通过width,height来获得数据块,不需要从屏幕上逐点取象素点值。
如果了解TIF的格式,做到这点并不难。
所以现在似懂非懂的样子,模糊的很。手头也没这方面的资料看。
我在找imgocxd.hlp,网上找半天了,没搜索到。有的发到我邮箱:[email protected]
用api抓图即可(问专家网站上,有这样一段程序,你可以找来看看),抓完图后另存为临时文件(bmp格式即可),然后就可以用http://www.fantasiasoft.net/Zyl910/zScale.zip了当然你也可以用设备场景进行部分图象的获取(imgedit控件有hwnd属性,可以用这个属性获得相应的hdc)
假使我添加2个imgedit控件 imgedit1和imgedit2
我现在想到用imgedit1.ClipboardCopy left,top,width,height
这个能得到我所选的区域的图像, 但怎么把imgedit1中的ClipboardCopy的内容 传送到 另外一个imgedit2的ClipboardCopy的方法中????
就是先在imgedit1上用SelectionRectDrawn和ClipboardCopy选取抓图,取得的数据如何传到imgedit2中去呢!!
现在只是在imgedit1.ClipboardCopy中采集到了数据撒。
难道 剪贴板 的数据是公用的???
那随便插入的图片不影响我看我粘贴的那部分图片,,
能不能把剪贴板的数据单独保存为某个*.tif文件呀???
我在通过别的把这新的图片显示出来.
那随便插入的图片不影响我看我粘贴的那部分图片,,不会影响的//能不能把剪贴板的数据单独保存为某个*.tif文件呀???
这个也可以
imgedit.save 或者saveas 是把imgedit控件当前显示的图片保存或另存了。
我那剪贴板 的数据咋个方法保存为新的tif文件呀??