as3利用Bitmap做图片倒影效果

本文介绍了如何使用Flash中的BitmapData和Matrix类实现图片倒影效果。通过垂直翻转图片并应用渐变透明效果,最终呈现出平滑过渡的倒影视觉效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

      这几天把项目忙完了,也该过年了,所以利用这空闲的时间做一些效果,方便以后工作用。一直对Bitmap只是稍微的了解了下,因为平时做的项目中我很少用到这个,今天突然想做下图片倒影的效果。所以对这个类又重新的了解了下,但还是不太深,慢慢研究吧。话不多少了,代码如下:

 1 <?xml version="1.0" encoding="utf-8"?>
 2 
 3 <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"
 4                 
 5                 creationComplete="initApp()">
 6 
 7     
 8     <mx:Script>
 9 
10         <![CDATA[
11             
12             import flash.events.ProgressEvent;
13             
14             import flash.display.Bitmap
15                 
16             import flash.display.BitmapData   
17                 
18             import mx.controls.Image      
19                 
20             protected function initApp():void{
21                     
22                     var bd:BitmapData = new BitmapData(img.contentWidth,img.contentHeight,true,0);
23                     //垂直方向翻转,Matrix矩阵中第一、四个参数表示水平和垂直方向的放缩比例,第二、三个参数表示水平和垂直方向的旋转角度
24                     //最后两个表示坐标的相对位移,当垂直翻转后,图像的Y坐标发生变化,因此必须移动
25                     var matrix:Matrix = new Matrix( 1, 0, 0, -1, 0, img.contentHeight );    
26                     //提取图形像素
27                     bd.draw(img,matrix);      
28                     //创建一个视图元件,也可以是其它容器类组件,比如Canvas
29                     //这个元件将用来做渐变的透明效果
30                     var shape:Shape = new Shape();
31                     
32                     var gradientMatrix:Matrix = new Matrix();
33                     //定义一个渐变矩阵,用来设置填充效果.创建 Graphics 类的 beginGradientFill() 和 lineGradientStyle() 
34                     //方法所需的矩阵的特定样式。
35                     gradientMatrix.createGradientBox(img.contentWidth,img.contentHeight, 0.5*Math.PI);
36                     //使用线性填充,这里使用三种颜色,第三个参数表示透明度的变化范围,0.4 为起点,0.5是中间值,0.1是终点
37                     // [0,125,255] 分别是三种颜色所占的百分比
38                     shape.graphics.beginGradientFill(GradientType.LINEAR, [0,0,0], [0.4,0.5,0.1], [0,125,255], gradientMatrix)
39                     
40                     shape.graphics.drawRect(0, 0, img.contentWidth,img.contentHeight);
41                     
42                     shape.graphics.endFill();
43                     //将透明度运用在背景中
44                     bd.draw(shape, null, null, BlendMode.ALPHA);
45                     
46                     var bitmap:Bitmap = new Bitmap(bd)   
47                     
48                     var newImage:Image = new Image();
49                     //把Bitmap传给新的图片
50                     newImage.source = bitmap;
51                     
52                     newImage.x = img.x;
53                     
54                     newImage.y = img.y + img.contentHeight ;
55                     
56                     this.addChild(newImage)
57                 }     
58                 
59         ]]>
60         
61     </mx:Script>
62     
63     
64     <mx:Image id="img" x="124" y="75" source="images/3.jpg"/>
65     
66 </mx:Application>

 

转载于:https://www.cnblogs.com/rujiong/archive/2013/01/31/2886745.html

基于开源大模型的教学实训智能体软件,帮助教师生成课前备课设计、课后检测问答,提升效率与效果,提供学生全时在线练习与指导,实现教学相长。 智能教学辅助系统 这是一个智能教学辅助系统的前端项目,基于 Vue3+TypeScript 开发,使用 Ant Design Vue 作为 UI 组件库。 功能模块 用户模块 登录/注册功能,支持学生和教师角色 毛玻璃效果的登录界面 教师模块 备课与设计:根据课程大纲自动设计教学内容 考核内容生成:自动生成多样化考核题目及参考答案 学情数据分析:自动化检测学生答案,提供数据分析 学生模块 在线学习助手:结合教学内容解答问题 实时练习评测助手:生成随练题目并纠错 管理模块 用户管理:管理员/教师/学生等用户基本管理 课件资源管理:按学科列表管理教师备课资源 大屏概览:使用统计、效率指数、学习效果等 技术栈 Vue3 TypeScript Pinia 状态管理 Ant Design Vue 组件库 Axios 请求库 ByteMD 编辑器 ECharts 图表库 Monaco 编辑器 双主题支持(专业科技风/暗黑风) 开发指南 # 安装依赖 npm install # 启动开发服务器 npm run dev # 构建生产版本 npm run build 简介 本项目旨在开发一个基于开源大模型的教学实训智能体软件,帮助教师生成课前备课设计、课后检测问答,提升效率与效果,提供学生全时在线练习与指导,实现教学相长。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值