源文件找不到了,反编了一份.

效果参见附件:

  1. package com.dante
  2. {
  3. import com.greensock.*;
  4. import flash.display.*;
  5. import flash.events.*;
  6. import flash.filters.*;
  7. import flash.geom.*;
  8. public class BitmapMotionEngine extends EventDispatcher
  9. {
  10. private var bitmapDataOld:BitmapData;
  11. private var bitmapDataNew:BitmapData;
  12. private var bitmapDataTarget:BitmapData;
  13. private var duration:Number = 1.5;
  14. private var tween:TweenLite;
  15. private var blurOld:BitmapData;
  16. private var blurNew:BitmapData;
  17. private var motionComplete:Boolean = true;
  18. public function BitmapMotionEngine()
  19. {
  20. return;
  21. }// end function
  22. public function startMotion(param1:BitmapData, param2:BitmapData, param3:BitmapData) : void
  23. {
  24. if (this.motionComplete)
  25. {
  26. this.bitmapDataNew = param2.clone();
  27. this.bitmapDataOld = param1.clone();
  28. this.bitmapDataTarget = param3;
  29. this.blurNew = this.bitmapDataNew.clone();
  30. this.blurNew.applyFilter(this.blurNew, this.blurNew.rect, new Point(), new BlurFilter(70, 70, 1));
  31. this.blurOld = this.bitmapDataOld.clone();
  32. this.blurOld.applyFilter(this.blurOld, this.blurOld.rect, new Point(), new BlurFilter(70, 70, 1));
  33. this.tween = TweenLite.to(this, this.duration, {onUpdate:this.update, onComplete:this.onMotionComplete});
  34. }
  35. return;
  36. }// end function
  37. private function onMotionComplete() : void
  38. {
  39. this.blurNew.dispose();
  40. this.blurOld.dispose();
  41. this.bitmapDataNew.dispose();
  42. this.bitmapDataOld.dispose();
  43. this.motionComplete = true;
  44. this.dispatchEvent(new Event(Event.COMPLETE));
  45. return;
  46. }// end function
  47. private function update() : void
  48. {
  49. var _loc_1:* = this.tween.currentTime / this.duration;
  50. var _loc_2:* = new ColorTransform(1, 1, 1, _loc_1);
  51. this.bitmapDataOld.merge(this.blurOld, this.bitmapDataNew.rect, new Point(), _loc_1 * 256, _loc_1 * 256, _loc_1 * 256, 256);
  52. this.blurNew.merge(this.bitmapDataNew, this.bitmapDataOld.rect, new Point(), _loc_1 * 256, _loc_1 * 256, _loc_1 * 256, 256);
  53. this.bitmapDataTarget.draw(this.bitmapDataNew, null, new ColorTransform(1, 1, 1, Math.pow(_loc_1, 2)));
  54. this.bitmapDataTarget.draw(this.bitmapDataOld, null, new ColorTransform(1, 1, 1, Math.pow(1 - _loc_1, 2)));
  55. return;
  56. }// end function
  57. }
  58. }

转载于:https://blog.51cto.com/bhlzlx/947586

图片过渡效果一例 使用bitmapData操作相关推荐

  1. 图片服务器 imgproxy 入门教程--实现图片实时裁剪/压缩/处理等操作

    图片服务器 imgproxy 入门教程--实现图片实时裁剪/压缩/处理等操作 入门 本指南将向您展示如何使用imgproxy快速调整第一张图像的大小. 安装 假设您在计算机上安装了Docker.然后, ...

  2. 根据传入坐标和图片URL地址对图片进行切图操作、将图片转化成Base64位码

    目录 1.根据传入坐标和图片URL地址对图片进行切图操作 2.将图片转化成Base64位编码.根据传入坐标 算出切点坐标 在开发过程的学习记录,此两个工具类主要是对图像的处理(切图),对文件的想换转化 ...

  3. python 怎么将数组转为列表_图片转换成pdf格式怎么操作?什么软件能将图片转为pdf?...

    伙伴们好,你们知道如何把图片转为pdf格式吗?前一阵子我参加了一个家居行业大会,在会议上拍摄了不少会议照片,包括主持人讲话.嘉宾出席.观众提问.产品推广等环节都拍摄了不同的角度.拍摄好后,需要传送给写 ...

  4. 生物医学图片处理——怎样才算不当操作?

    生物医学图片处理--怎样才算不当操作? 在2021年撤稿观察(Retraction Watch)数据库中列出的近4000起撤稿事件中,超过四分之一涉及" "concerns/iss ...

  5. 9.png为什么可以保证图片不失真,.9.png操作详解————针对原文有补充

    PNG,是一种非失真性压缩 位图图形文件格式.PNG格式是非失真性压缩的,允许使用类似于GIF格式的调色板技术,支持真彩色图像,并具备阿尔法通道(半透明)等特性.现在有很多人使用PNG格式于互联网及其 ...

  6. 图片的基本读取和保存操作

    图片的基本读取和保存操作 编程要求 代码 相关知识 使用OpenCV,需要先进行导包操作 读取图像 保存图像 兴趣窗口 编程要求 根据提示,在右侧编辑器补充 Begin-End 代码,实现图片的读取. ...

  7. pytest系列——fixture之yield关键字实现teardown用例后置操作

    fixture之yield关键字实现teardown用例后置操作 前言 ①pytest之fixture函数使用(pytest测试框架测试固件 文中讲到,fixture函数是通过scope参数来控制se ...

  8. android自定义图片过渡效果,教你做出炫酷的Android动画效果

    前言 Android动画也是Android系统中一个很重要的模块, 在平时开发中, 为了做出炫酷的效果, 动画可以说是必不可少的; 本文将总结Android中与动画相关的部分, 文中部分内容整理自文末 ...

  9. 20例Windows XP操作系统优化技巧

    我们在使用操作系统的过程中总是追求更快的速度,更稳定的性能.在安装了Windows XP操作系统后,可能通过修改一些设置来达到优化系统的目的,下面笔者就给大家准备了20例Windows XP操作系统的 ...

最新文章

  1. 【转】闲聊Kernel engineer的境界(全)
  2. Scala中的嵌套循环
  3. 简单博弈论总结加例题解析
  4. bzoj2150,poj1422,poj1548
  5. asp.net页面中Menu控件下拉菜单被frame挡住和iframe自适应高度的解决办法
  6. 什么是迁移学习?迁移学习的实现方法与工具分析
  7. 关于分行数字化转型工作的几点思考
  8. LaTex的安装和使用
  9. 迪赛智慧数——柱状图(多色柱状图):母亲节大家都怎么挑选礼物
  10. UVM-phase机制
  11. JS设置浏览器缩放比例
  12. ChatGPT近视眼镜购买指南:防雾防尘、舒适度与价格平衡的完美选择
  13. 学插画的线上机构排名
  14. 15051:小Biu的区间和
  15. python mysql_config not found_解决问题:OSError: mysql_config not found
  16. 模糊查询银行卡号mysql_mysql模糊查询
  17. 公安局计算机岗位应知应会综合基础知识,事业单位考试计算机综合知识基础知识真题...
  18. 实用主义的思考与学习 读书笔记
  19. 四川长虹IHO-3300AD_高安版_S905L3芯_精简优化_线刷固件包
  20. 开源BI工具2:apache/superset

热门文章

  1. JavaScript基础知识(函数)
  2. Swift - 表格图片加载优化(拖动表格时不加载,停止时只加载当前页图片)
  3. cpio/rpm2cpio 命令
  4. 论文阅读 Current Solutions for Web Service Composition
  5. BufferedReader和PrintWriter读写中文的问题
  6. jenkins+docker的简单项目部署
  7. 《HiWind企业快速开发框架实战》(0)目录及框架简介
  8. 注册修复动态链接库DLL文件
  9. 戏说Linux商用数据库
  10. Redis 桌面管理工具 RedisDesktopManager 2019.0 发布