简介

由于工作需要,我对桌面特效的实现做了深 入研究,现作简单总结。本文研究的特效包括:

  • 图标抖动,更准确的说是图标做不规律的左右摇摆;
  • 图标拖动和滑动,即图标可以从一个位置拖到另一个位置,同时受影响的图 标会按 Z 字形的规则滑动;
  • 图标缩放,点击时,图标放大;松开后图表缩小;
  • Alpha 混合,拖动一个图标和另一个图标重叠时有半透明效果

实现思路

基于动画原理实现抖动和缩放

动画实际是在一定的时间间隔内顺序显示一系列的相关图片实现的,由于人的视 觉有惯性,当时间间隔足够短时,就会看到物体动起来。抖动和缩放都可以基于 动画的原理实现:

  • 图标的抖动是由三桢图片做不规则切换实现的,一祯是正常的图,一桢是逆 时针转 N(N=3) 度的图,还有一桢是顺时针旋转 N(N=3) 度的图;
  • 图标的缩放是由一大、一小两桢图片组成,为了增加柔和性,中间可以增加 一桢或两桢;
  • 在实际实现时,所有的图片的画布都取相同尺寸,这样便于贴图和绘制

图标的拖动

拖动的实现比较简单,只需随鼠标不断改变图标的位置并实时显示即可。有一点 要注意,当在新的位置绘制图片时,要把原来的擦掉,否则就会出现“贪吃蛇”现象,造 成混乱。

Alpha 混合

半透明采用 Alpha 混合来实现,即将拖动的图标绘制在一个带 Alpha 混合的层 上,然后将这个层 bilbit 到绘制层即可。

为了屏蔽背景色,可能还会用到 color key。

更详细的内容见:

http://www.pengliu.org/proj/iphone_desktop.html

iphone 桌面特效的实现相关推荐

  1. 给你的iPhone桌面加个分层特效,有趣!

    晚上好,我是阿轲.此前给大家分享过将iPhone桌面分层的特效壁纸,今天带来这批壁纸的升级版 废话不多说,来看看效果图 这是用各种色块将桌面进行一行行地分层,这样就可以将同一类别的App放到同一层,方 ...

  2. linux 关闭桌面特效,[多图] Ubuntu 中开启3D桌面特效与设置方法

    Ubuntu 8.04 (Hardy Heron) 中集成了强大3D交互界面,Ubuntu 的 3D 桌面特效给用户带来了一种全新的视觉用户.想必有很多朋友也因为看到了 Ubuntu 8.04 那炫目 ...

  3. 桌面音乐频谱linux,X Music Spectrum(音乐频谱桌面特效)

    XMusicSpectrum是一款音乐频谱桌面特效软件,听上去可能很复杂,简单点来说就是当你用播放器播放音乐时,屏幕下方会出现动态音乐频谱,让你的桌面变成更加丰富多彩. 相关软件软件大小版本说明下载地 ...

  4. 苹果4s怎么越狱教程_苹果手机桌面图标怎么随意摆放 iPhone桌面图标随意摆放教程...

    苹果手机由于iOS系统相对封闭,很难像安卓手机那样,随意摆放桌面图标.如果需要随意摆放iPhone桌面图标也不是没有办法,比如可以通过越狱来实现.不过,今天小编为大家分享的iPhone桌面图标随意摆放 ...

  5. kde 桌面 nvidia闭源驱动桌面特效不可用

    manjaro kde 桌面 nvidia闭源驱动桌面特效不可用 强调下本机仅为独显,没有intel核显,双显卡是否会有此问题没有考证 机器配置说明 两台电脑 1.一台荣耀magicbook amd核 ...

  6. linux桌面特效 退出,Ubuntu 3D桌面特效怎么设置?

    有些用户为了使桌面更好看.更具动感性,于是就想要设置系统的3D桌面特效,不过不少人却不知道Ubuntu 3D桌面特效怎么设置?其实方法很简单,如果你不知道的话,那就赶紧来看看小编整理的Ubuntu 3 ...

  7. Ubuntu 12.04开启3D桌面特效

    1.设定软件源,更新软件 点击左边栏Dash主页(Ubuntu图标),输入更新管理器,会出现更新管理器,打开后点设置,弹出软件源对话框,为确保能够正常更新,选主服务器 点击检查,更新完后,点重启 2. ...

  8. plasma桌面特效无效的解决办法

    前段时间重装了Arch Linux,用了好看的Plasma桌面,但是最近这几天桌面特效突然没有了,让我非常郁闷.于是乎我开始动手排查起来. 由于前几天折腾显卡驱动,最后还是没折腾成功.所以我一开始将问 ...

  9. ubuntu桌面特效设置

    特效开启教程 在官方Ubuntu软件中心中直接搜索"CompizConifg设备管理器"并且安装,此程序是Ubuntu上最常见的桌面特效管理软件,是必备的. 安装完成之后运行,你可 ...

最新文章

  1. 浏览器解析jsx_React——JSX语法
  2. 【不容错过】12月10日:纳米孔测序科研团队大会NCM 2020亚太区特别专场
  3. linux系统的5种文件类型及其属性符号
  4. android系统 通知管理,Android的通知系统
  5. Hibernate 对象的三种状态
  6. 计算机专业在湖南录取分数,计算机科学与技术专业分数线各大学排名(湖南)
  7. ssh客户端_Termius for Mac(SSH客户端) v6.3.0
  8. linux下仿真流体计算软件,【流体】| 10个目前流行的CFD仿真软件,你了解几个?...
  9. 图像批处理高斯滤波降噪+峰值信噪比计算
  10. max3232ese_【MAX3232ESE+ PDF数据手册】_中文资料_引脚图及功能_(美信 Maxim Integrated)-采芯网...
  11. 论坛php网站模板,自适应discuz论坛门户网站模板
  12. 产品 · B端生意的定义和分类
  13. s>/<s>.css?12345‘“\‘\“);|]*%00{%0d%0a<%00>%bf%2项目检测问题Application error message
  14. Android——腾讯QQ的Tab按钮动画效果完美实现
  15. 不只是A/B测试:多臂老虎机赌徒实验
  16. 关于Debian10的网络配置
  17. react下绘制word申请表
  18. 用java设计一个动物声音 模拟器,Java语言 设计一个动物声音“模拟器”(用接口实现)...
  19. web应用使用skype教程
  20. iOS身份证识别(OCR源码)

热门文章

  1. 思必驰回复第二轮审核问询,如何与科大讯飞、阿里巴巴“虎口夺食”?
  2. RoCE、iWARP、IB和TCP等网络的基本知识及差异对比
  3. PCB设计之STM32最小系统板
  4. 【JVM我可以讲一个小时】
  5. 基于51单片机带温湿度显示的可调电子时钟
  6. 翼支付门户架构之redis之RDB和AOF
  7. 律师行业百度竞价分析
  8. 新手助手、新生报到小程序 毕业设计毕业论文 开题报告和效果图参考(基于微信小程序毕业设计题目选题课题)
  9. 浅谈QPS、TPS、并发用户数、吞吐量的关系
  10. 30.【十进制和二进制的相互转化(超详解)】