平顶山互联网行业的皇冠!

平顶山天虹科技是专业从事平顶山网站建设 网站制作 网站推广的超级网络公司,为您提供专业的网络营销解决方案!

CEO手机: 15993534153 QQ:29429666  点击QQ号直接交流或留言

平顶山五星级网络营销服务商!                                                                                                                                                          留言反馈 | 进入平面印刷

网站建设

平顶山天虹科技有限公司代理中国万网及58同城网,金牌品质,专业服务!
 
制作360度三维全景图备忘  
 

 

 

 

 

什么是360全景?

 

平顶山网360全景演示:http://www.pds.com.cn/help/article_1.html

 

可应用于房产楼盘、宾馆酒店、旅游景点、虚拟校园及博物馆等场景的网上展示。

 

制作设备:

全景开发相机 云台 鱼眼镜头 拼合软件 发布软件

http://item.taobao.com/auction/item_detail-0db1-21a21820782445a380d7eef2b7268783.jhtml?cm_cat=0

 

 

 

 

 

一共需要三个类:

 

ImageLoad.as     图片装载类
ImageView.as     图片控制类
ImagePano.as     图片全景展示类

 

难点是第三个,如何表现出鱼眼变形效果,我使用了DisplacementMapFilter 位图滤镜;

 

    DisplacementMapFilter 类使用指定的 BitmapData 对象(称为置换图图像)的像素值执行对象置换。 您可以使用此滤镜将扭曲或斑点效果应用于从 DisplayObject 类中继承的任何对象,例如 MovieClip、SimpleButton、TextField 和 Video 对象,以及 BitmapData 对象。

滤镜的具体使用取决于要应用滤镜的对象:

  • 若要将滤镜应用于显示对象,请使用显示对象的 filters 属性。 设置对象的 filters 属性不会修改相应的对象,而清除 filters 属性可以删除相应的滤镜。
  • 若要对 BitmapData 对象应用滤镜,请使用 BitmapData.applyFilter() 方法。 对 BitmapData 对象调用 applyFilter() 会取得源 BitmapData 对象和滤镜对象,并生成一个过滤后的图像。

如果对显示对象应用滤镜,则该显示对象的 cacheAsBitmap 属性值将设置为 true。 如果清除所有滤镜,将恢复 cacheAsBitmap 的原始值。

此滤镜使用以下公式:

dstPixel[x, y] = srcPixel[x + ((componentX(x, y) - 128) * scaleX) / 256, y + ((componentY(x, y) - 128) *scaleY) / 256)

其中,componentX(x, y)mapBitmap 属性获得 (x - mapPoint.x ,y - mapPoint.y) 处的 componentX 属性颜色值。

滤镜使用的映射图像会进行缩放,以匹配舞台缩放比例。 当对象自身呈一定的比例时,它不会进行缩放。

此滤镜支持舞台缩放。 但不支持常规缩放、旋转和倾斜。 如果对象本身进行了缩放(如果将 scaleXscaleY 属性设置为除 1.0 以外的其它值),滤镜效果将不进行缩放。只有用户在舞台上进行放大时它才会缩放。

 

然后依此生成鱼眼变形源位图源即可,

一个Sample; 

 

package {
    import flash.display.Bitmap;
    import flash.display.BitmapData;
    import flash.display.BitmapDataChannel;
    import flash.display.GradientType;
    import flash.display.SpreadMethod;
    import flash.display.Sprite;
    import flash.filters.BitmapFilter;
    import flash.filters.DisplacementMapFilter;
    import flash.filters.DisplacementMapFilterMode;
    import flash.geom.Matrix;
    import flash.geom.Point;
    import flash.text.TextField;
   
    public class DisplacementMapFilterExample extends Sprite {
        private var bgColor:uint     = 0xFFCC00;
        private var size:uint        = 200;
        private var offset:uint      = 90;
        private var labelText:String = "Watch the text bend with the displacement map";

        public function DisplacementMapFilterExample() {
            draw();
            createLabel();
            createFilter();
        }

        private function createFilter():void {
            var filter:BitmapFilter = getBitmapFilter();
            filters = new Array(filter);
        }

        private function getBitmapFilter():BitmapFilter {
            var mapBitmap:BitmapData = createBitmapData();
            var mapPoint:Point       = new Point(0, 0);
            var channels:uint        = BitmapDataChannel.RED;
            var componentX:uint      = channels;
            var componentY:uint      = channels;
            var scaleX:Number        = 0.5;
            var scaleY:Number        = -30;
            var mode:String          = DisplacementMapFilterMode.CLAMP;
            var color:uint           = 0;
            var alpha:Number         = 0;
            return new DisplacementMapFilter(mapBitmap,
                                             mapPoint,
                                             componentX,
                                             componentY,
                                             scaleX,
                                             scaleY,
                                             mode,
                                             color,
                                             alpha);
        }

        private function draw():void {
            var matrix:Matrix = new Matrix();
            matrix.createGradientBox(size, size);
            graphics.beginGradientFill(GradientType.RADIAL,
                                       [0xFF0000, 0x0000FF],
                                       [100, 100],
                                       [55, 200],
                                       matrix,
                                       SpreadMethod.PAD);
            graphics.drawRect(0, 0, size, size);
        }

        private function createBitmapData():BitmapData {
            var bitmapData:BitmapData = new BitmapData(size, size, true, bgColor);
            bitmapData.draw(this, new Matrix());
            var bitmap:Bitmap = new Bitmap(bitmapData);
            bitmap.x = size;
            addChild(bitmap);
            return bitmapData;
        }

        private function createLabel():void {
            var tf:TextField = new TextField();
            tf.text = labelText;
            tf.y = offset;
            tf.width = size;
            addChild(tf);
        }
    }
}
 

如何用FLASH编程360度全景图展示……

关键:使用鱼眼变形滤镜产生边缘变形效果。

 

从广义上讲,全景就是视角超过人的正常视角的图像,而我们这里说的全景特指水平视角360度,垂直视角180度的图像。全景实际上只是一种对周围景象以某种几何关系进行映射生成的平面图片,只有通过全景播放器的矫正处理才能成为三维全景。如上例所示,360全景顾名思义就是给人以三维立体感觉的实景360度全方位图像,此图像最大的三个特点是:
1、全:全方位,全面的展示了360度球型范围内的所有景致;可在例子中用鼠标左键按住拖动,观看场景的各个方向;
2、景:实景,真实的场景,360全景大多是在照片基础之上拼合得到的图像,最大限度的保留了场景的真实性;
3、360:360度环视的效果,虽然照片都是平面的,但是通过软件处理之后得到的360全景,却能给人以三维立体的空间感觉,使观者犹如身在其中。


 上一条:数据显示2009年百度搜索量排名全球第三       下一条:2010 网络社区掘金年

【公司简介】

    平顶山天虹科技网络公司,致力于面向营销的企业网站建设网站开发网页设计网站解决方案。采用PHP JSP ASP.NET等平台开发程序,利用DIY+CSS现代化WEB3.0制作技术搭建网页框架,优秀的网站定位、网站策划和网站制作,不仅可以提升企业网站的性价比,更可让企业在网站建设起步时就领先于对手。天虹科技以精深技术为核心、以专业团队为支撑,为平顶山政府网站建设平顶山公司网站建设平顶山学校网站建设等提供高技术含量的平顶山网站建设服务。

 

    天虹科技始终以不懈的努力、更高的目标来要求自己。凭借多年的平顶山网站建设成功经验,天虹科技已拥有数百例经典网站成功案例,是一家正规专业的平顶山网络公司

 

    天虹科技五星级专业服务商拥有强大的平顶山网页制作技术团队,在网站建设网站设计网站推广软件开发等高科技领域始终保持领先地位,并获得了网络公司业界的广泛赞誉和认同!天虹科技重视网站建设质量,打造平顶山地区网站建设公司知名品牌,以优秀的网站设计技术,创一流的平顶山网站建设作品。建网站找天虹,助您马到成功!

 

    本月特惠:天虹建站普及优惠活动进行中!本月前三名客户朋友与我们合作网站建设,送国际顶级域名和1G(1000M)网络空间!如果您想抢占网络先机,快速行动,机会难得!点击这里给天虹科技网站建设发消息!

 

天虹科技24小时网站建设服务热线:15237500186

  平顶山天虹科技有限公司专业网站建设

Copyright © 2017 www.Pdsit.com Inc. All Rights Reserved. 平顶山网站建设联盟 版权所有
[电话]15993534153 [地址] 平顶山市新华路与矿工路交汇处天意花园8层
业务咨询、合作洽谈、求职招聘[客服QQ] 29429666点击这里给天虹科技网站建设发消息! [信箱] chinalhg@qq.com
如何找到本站?在百度搜索关键词:平顶山网站建设平顶山网站推广平顶山网站设计平顶山网站优化平顶山网络公司平顶山网站联盟。百度快照均排名第一!
平顶山市天虹科技是平顶山优秀专业的建站第一品牌!
国家信息产业部备案:豫ICP备11012270号-1