iphone 桌面特效的实现
简介
由于工作需要,我对桌面特效的实现做了深 入研究,现作简单总结。本文研究的特效包括:
- 图标抖动,更准确的说是图标做不规律的左右摇摆;
- 图标拖动和滑动,即图标可以从一个位置拖到另一个位置,同时受影响的图 标会按 Z 字形的规则滑动;
- 图标缩放,点击时,图标放大;松开后图表缩小;
- Alpha 混合,拖动一个图标和另一个图标重叠时有半透明效果
实现思路
基于动画原理实现抖动和缩放
动画实际是在一定的时间间隔内顺序显示一系列的相关图片实现的,由于人的视 觉有惯性,当时间间隔足够短时,就会看到物体动起来。抖动和缩放都可以基于 动画的原理实现:
- 图标的抖动是由三桢图片做不规则切换实现的,一祯是正常的图,一桢是逆 时针转 N(N=3) 度的图,还有一桢是顺时针旋转 N(N=3) 度的图;
- 图标的缩放是由一大、一小两桢图片组成,为了增加柔和性,中间可以增加 一桢或两桢;
- 在实际实现时,所有的图片的画布都取相同尺寸,这样便于贴图和绘制
图标的拖动
拖动的实现比较简单,只需随鼠标不断改变图标的位置并实时显示即可。有一点 要注意,当在新的位置绘制图片时,要把原来的擦掉,否则就会出现“贪吃蛇”现象,造 成混乱。
Alpha 混合
半透明采用 Alpha 混合来实现,即将拖动的图标绘制在一个带 Alpha 混合的层 上,然后将这个层 bilbit 到绘制层即可。
为了屏蔽背景色,可能还会用到 color key。
更详细的内容见:
http://www.pengliu.org/proj/iphone_desktop.html
iphone 桌面特效的实现相关推荐
- 给你的iPhone桌面加个分层特效,有趣!
晚上好,我是阿轲.此前给大家分享过将iPhone桌面分层的特效壁纸,今天带来这批壁纸的升级版 废话不多说,来看看效果图 这是用各种色块将桌面进行一行行地分层,这样就可以将同一类别的App放到同一层,方 ...
- linux 关闭桌面特效,[多图] Ubuntu 中开启3D桌面特效与设置方法
Ubuntu 8.04 (Hardy Heron) 中集成了强大3D交互界面,Ubuntu 的 3D 桌面特效给用户带来了一种全新的视觉用户.想必有很多朋友也因为看到了 Ubuntu 8.04 那炫目 ...
- 桌面音乐频谱linux,X Music Spectrum(音乐频谱桌面特效)
XMusicSpectrum是一款音乐频谱桌面特效软件,听上去可能很复杂,简单点来说就是当你用播放器播放音乐时,屏幕下方会出现动态音乐频谱,让你的桌面变成更加丰富多彩. 相关软件软件大小版本说明下载地 ...
- 苹果4s怎么越狱教程_苹果手机桌面图标怎么随意摆放 iPhone桌面图标随意摆放教程...
苹果手机由于iOS系统相对封闭,很难像安卓手机那样,随意摆放桌面图标.如果需要随意摆放iPhone桌面图标也不是没有办法,比如可以通过越狱来实现.不过,今天小编为大家分享的iPhone桌面图标随意摆放 ...
- kde 桌面 nvidia闭源驱动桌面特效不可用
manjaro kde 桌面 nvidia闭源驱动桌面特效不可用 强调下本机仅为独显,没有intel核显,双显卡是否会有此问题没有考证 机器配置说明 两台电脑 1.一台荣耀magicbook amd核 ...
- linux桌面特效 退出,Ubuntu 3D桌面特效怎么设置?
有些用户为了使桌面更好看.更具动感性,于是就想要设置系统的3D桌面特效,不过不少人却不知道Ubuntu 3D桌面特效怎么设置?其实方法很简单,如果你不知道的话,那就赶紧来看看小编整理的Ubuntu 3 ...
- Ubuntu 12.04开启3D桌面特效
1.设定软件源,更新软件 点击左边栏Dash主页(Ubuntu图标),输入更新管理器,会出现更新管理器,打开后点设置,弹出软件源对话框,为确保能够正常更新,选主服务器 点击检查,更新完后,点重启 2. ...
- plasma桌面特效无效的解决办法
前段时间重装了Arch Linux,用了好看的Plasma桌面,但是最近这几天桌面特效突然没有了,让我非常郁闷.于是乎我开始动手排查起来. 由于前几天折腾显卡驱动,最后还是没折腾成功.所以我一开始将问 ...
- ubuntu桌面特效设置
特效开启教程 在官方Ubuntu软件中心中直接搜索"CompizConifg设备管理器"并且安装,此程序是Ubuntu上最常见的桌面特效管理软件,是必备的. 安装完成之后运行,你可 ...
最新文章
- 浏览器解析jsx_React——JSX语法
- 【不容错过】12月10日:纳米孔测序科研团队大会NCM 2020亚太区特别专场
- linux系统的5种文件类型及其属性符号
- android系统 通知管理,Android的通知系统
- Hibernate 对象的三种状态
- 计算机专业在湖南录取分数,计算机科学与技术专业分数线各大学排名(湖南)
- ssh客户端_Termius for Mac(SSH客户端) v6.3.0
- linux下仿真流体计算软件,【流体】| 10个目前流行的CFD仿真软件,你了解几个?...
- 图像批处理高斯滤波降噪+峰值信噪比计算
- max3232ese_【MAX3232ESE+ PDF数据手册】_中文资料_引脚图及功能_(美信 Maxim Integrated)-采芯网...
- 论坛php网站模板,自适应discuz论坛门户网站模板
- 产品 · B端生意的定义和分类
- s>/<s>.css?12345‘“\‘\“);|]*%00{%0d%0a<%00>%bf%2项目检测问题Application error message
- Android——腾讯QQ的Tab按钮动画效果完美实现
- 不只是A/B测试:多臂老虎机赌徒实验
- 关于Debian10的网络配置
- react下绘制word申请表
- 用java设计一个动物声音 模拟器,Java语言 设计一个动物声音“模拟器”(用接口实现)...
- web应用使用skype教程
- iOS身份证识别(OCR源码)