三九宝宝网宝宝绘画儿童画

怎样制作一个放大镜

01月04日 编辑 39baobao.com

[vb中怎么实现图片缩小和放大]Pegasus的ImagXpress 8.0控件,支持各种格式文件的加载。控件封装了右键局部区域放大的功能,要实现图片的缩放,把AutoResize属性设置为PegasusImaging.WinForms.ImagXpress8.Aut...+阅读

先讲一下实现的思路和原理吧:放大镜大家都用过对吧?其实在flash里面实现发大镜无非就是用一块很大的区域显示比这个区域小的部分,所以也就是将放大镜中的像素按照位置映射到原图像上的某小部分。当然如果这一小部分比放大镜本身都大得话,那就变成缩小镜了。 首先,我们还是先看一下代码中的像素映射那部分。 var _dfilter:DisplacementMapFilter = new DisplacementMapFilter(一个Bitmap映射参数,new Point(0,0),1,2,0,0); 没错,在flash中我们可以使用DisplacementMapFilter滤镜来做像素映射,之前做的另一个效果Bump Mapping也用的是这个滤镜,大家知道这个滤镜的强大了吧。

看到这个函数大家一定觉得很奇怪,怎么像素映射是使用一个图来作为映射的参数呢?这是因为通常在做图形时,他们更喜欢使用图象来做为参数传输,这样就可以把一个数组的参数当作一张贴图传输到显卡中。这个就是我们传入的映射图的样子。 使用图片作为参数另一个好处,就是可以直观的看到这些参数分布的形态。至于这个映射图是怎么解析的呢?其实我们知道,通常一个真彩的像素有32bit,分别是ARGB,其中任意一个通道就占有8位宽,也就可以表示0-255中任何一个数字啦。

在DisplacementMapFilter这个类中,他会读入这么一张图,然后将要显示的像素经过预先指定的2个通道分别读出x和y轴的位移,然后再到目标图上去寻找,bingo,就可以把颜色找到啦。具体的形式如下:dstPixel[x, y] = srcPixel[x + ((componentX(x, y) - 128) * scaleX) / 256, y + ((componentY(x, y) - 128) * scaleY) / 256] 在这里,我就给这个displaceMapFilter传入了这么一张图。

这张图在中间部分让图像平均放大,并且在靠近边缘是进行很夸张的放大,最终的效果大家可以在2进制里面下载。使用了一个DisplacementMapFilter之后,我们就可以得到一张非常朴素的放大镜效果了,然而有时候我们希望来点有意思的事情,比如把放大镜的折射率设置的夸张点,这样我们就可以透过放大镜看到一些再物体边缘有真实的折射效果,相信在日常生活中你也一定遇到过这些情况。

实际上折射效果实现非常简单,其实就是把原图像的R,G,B通道分开,然后分别对他们使用我们前面说的放大镜效果,并且将这些放大镜的放大率作少许的调整,比如1.5,1.6,1.7。最后我们在将的到的三个通道使用Add渲染模式叠加起来。 大家也许会问这个映射的参数图是哪里来的,其实,那个图是我做的另外一个flash生成的....然后我在截个图,编辑编辑,在导到flash中的,很土吧,至于具体实现,大家可以去看我的代码。

以下为关联文档:

ppt一张局部的图片怎么做到放大到全屏然后还原回原图1、首先点击选中需要设置的图片,将图片拖动变小显示在页面中。 2、然后点击PPT页面上方工具栏中的“动画”选项。 3、然后点击更多效果选择“强调”栏目中的“放大/缩小”...

PHOTOSHOP如何放大缩小图像表述的不够清楚。 你是想在预览的时候让它放大,便于看的更清楚一些, 还是希望改变图片的尺寸,让下次打开的时候看到的就是小一些的图像? 还是,保持文档大小(长宽尺寸)不变,只是想改...

VCMFC如何让一张图片文件放大缩小呢代码手写的,应该有错误,自己改下吧,hwnd是你View的m_hWnd句柄 CString path=_T("c:\123.jpg"); BITMAP bmp; HBITMAP hbitmap=(HBITMAP)::LoadImage(0,path.AllocSysString(),IMA...

如何在固定的DIV中放大缩小图片需要使用到绝对位置(absolute)。 具体方法如下: 让图片和布局宽度高度成等比例,这样CSS设置死宽度和高度,图片也是等比例缩小,图片也不会变形。 参加如下代码: .divcss5{ border:1p...

html页面里面如何实现点击小图放大查看大图楼主的意思我看明白了,这里可以将图片作为背景插入盒子中,那么怎么实现以短边剪裁图片呢,这里涉及一个background参数,补充一下: background-size:宽 高;只设置其中一个值,另一个值...

如何点击图片放大的代码所以直接说思路吧。 onlick函数里面判断一下点击状态就行了。 方法1: 用一个变量来存,clicktime = 0, 还没点击,clicktime =1 点了一次,clicktime =2 点了两次, 所以通过clickti...

求鼠标经过图片放大代码那个是jquery的效果=。=就需要导入jquery包。。。。 如果你不需要jquery包,就要自己写js, 我帮你看看,我好想有类似的js,稍等 <script type="text/javascript"> function ChangeI...

谁给在网页中鼠标滑过图片使图片放大特效的代码<table width="120" border="0" align="center" cellpadding="0" cellspacing="0"> <tr> <td align="left"><a href="http://.baidu.com" target="_blank"><img src="http://list.image.baidu...

flash as3 0怎么使旋转图片可以进行点击放大直接做成元件,不一定要按钮元件,然后给实例命名,比如linkButton,然后在时间轴关键帧加代码: function gotoAdobeSite(event:MouseEvent):void { this.ratation+=90; this.scaleX+...

推荐阅读
图文推荐