第一次接触 Windows 开机动画是 2012 年,那时候魔方的版本号还是 3.12,魔方里面有个很酷炫狂霸拽的功能就是替换 Windows 7 的开机动画。一开始我是在IT之家论坛里下载开机动画,久而久之便萌生了自己制作开机动画的想法。经过多方打探,终于明白了魔方的开机动画 .bmp 文件的奥秘。原来网友制作的 .bmp 文件是由 105 个独立的 200*200 像素的图片组成,每一张图片就是一帧,105 张这样的图片顺序连接起来就是魔方支持的 .bmp 文件。(因此我们也可以算出一个合格的开机动画文件的尺寸是 200*21000)Windows 的开机动画有一定的播放规律,即前 60 帧顺次播放,60 帧以后,即 61-105 帧将执行循环播放。

 Windows 7 开机动画

  在知道 Windows 开机动画原理后,我们便知晓了制作开机动画的方法 —— 将 105 张图片 200*200 像素的图片合成为一张 200*21000 像素的图片。你可以随便从网上得来一张 GIF 动态图片(或者你也可以截取视频),将它的每一帧保存下来并修改尺寸,通过 Photoshop 或其他软件就能够制作出开机动画。  值得一提的是,当你将自己制作出来的开机动画通过魔方修改后,开机时所展现的图案又是另一番风景 —— 图像被拉伸了,特别是当你的开机图案是正圆的时候。这里我需要向大家普及一下显示器的尺寸问题,一般的宽屏液晶屏(笔记本或一些台式)的尺寸都是 16:9,再就是普屏尺寸 4:3,下面是两张 200*200 的图片:(开机动画中的一帧)

图一    图二  
  

  若是我告诉你,这两张图在它们所处的开机动画中显示效果是一样,你会不会相信呢?事实的确如此,图一是 16:9 的尺寸,而图二是 4:3 的尺寸,这里两张图片所在的开机动画在对应尺寸的显示器上的显示效果是完全一样的,显示出来的都是图二的样子。那你可能会问,如何实现两种尺寸的相互转化?答案也很简单,我们只需利用 Photoshop 便可轻松完成。下面是 4:3 转化为 16:9 的方法,16:9 转化 4:3 反着做就行。  

STEP 1 用 PS 打开 .bmp 图片
STEP 2 修改图像尺寸(Alt+Ctrl+I)和画布尺寸(Alt+Ctrl+C)

STEP 3 填充空白为黑色
STEP 4 保存

理论制作 Windows 开机动画的更多相关文章

  1. RK3288 制作开机动画

    Android 的开机动画是由 Linux 本地守护程序 bootanimation 专门控制实现的,其代码在 frameworks/base/cmds/bootanimation/ 目录下. 修改开 ...

  2. Android 开机动画启动过程详解

    Android 开机会出现3个画面: 1. Linux 系统启动,出现Linux小企鹅画面(reboot)(Android 1.5及以上版本已经取消加载图片): 2. Android平台启动初始化,出 ...

  3. 设置安卓开机动画、开机logo

    我们要修改的是system>media文件夹下的bootanimation.zip(手机开机动画)这个文件 先来讲讲这个文件结构:该zip解压后得到两个文件, 第一个目录存放了开机时播放的图片( ...

  4. Android5.1开机LOGO与开机动画【转】

    本文转载自:http://blog.csdn.net/u014770862/article/details/52624627 android5.1中,开机LOGO部分和之前版本的并不相同,主要区别在于 ...

  5. C# 制作Windows服务安装包

    C# 制作Windows服务安装包   这两天公司要用C#写一个windows服务,做成安装安装包.制作的过程中遇到了一些问题,写完之后总结一下.如果以后在用到的话可以可以参考一下,而且由于原来没有做 ...

  6. OpenGL—Android 开机动画源码分析一

    .1 Android开机动画实现方式目前实现Android开机动画的方式主要是逐帧动画和OpenGL动画. ?逐帧动画 逐帧动画是一种常见的动画形式(Frame By Frame),其原理是在“连续的 ...

  7. ubuntu更换开机动画

    ubuntu更换启动动画 作为一个个用linux作为桌面环境,并且完全替代了windows的来说,怎么折腾好看,是一个重要的问题,而Ubuntu的开机动画,那紫色的画面,ubuntu那几个大字,实在丑 ...

  8. Android MTK平台最完备的开机动画修改教程

    修改手机的开机动画不是什么难事儿. 但修改一款很冷门的"山寨机",就不太好修改第一屏了. 手机是MTK的一款手机,虽然比较贵(价格超过三星Note3),但在我看来跟山寨机木有啥区别 ...

  9. android开机动画(bootanimation)

    Android开机动画有两种修改方法,android 2.0及之后,使用bootanimation程序显示开机画面,如需修改开机画面,不用修改代码,只需按格式要求做bootanimation.zip包 ...

随机推荐

  1. 网页上的JS call Unity3d里的function——SendMessage

    注意: sendmessage只可以从网页发信息到unity游戏里,但是没有返回值 只可以发布三种类型的data,不可以其他复杂的强类型 发信息的时不会做编译检测 SendMessage Workfl ...

  2. Slave延迟很大的优化方法总结(MySQL优化)

    [http://www.cstor.cn/textdetail_9146.html] 一般而言,slave相对master延迟较大,其根本原因就是slave上的复制线程没办法真正做到并发.简单说,在m ...

  3. Linux环境下oracle创建和删除表空间及用户

    #su - oracle $ sqlplus /nolog SQL> connect / as sysdba --//创建临时表空间 create temporary tablespace te ...

  4. css去掉a标签点击后的虚线框(转自网络)

    outline是css3的一个属性,用的很少. 声明,这是个不能兼容的css属性,在ie6.ie7.遨游浏览器都不兼容. outline控制的到底是什么呢? 当聚焦a标签的时候,在a标签的区域周围会有 ...

  5. call()和apply()方法

    还在处在刚刚学习JavaScript的初级阶段,所以理解相对浅显,是一种简单的模式理解.这里做一个笔记,让自己在回顾的时候,更加牢记. call()和apply()的形式 A.call(B," ...

  6. 为DAG预留群集名称对象(CNO)

    在某些环境中,计算机帐户的创建受到限制或计算机帐户是在非默认计算机容器中创建的,则会预留群集名称对象 (CNO),然后通过为其分配权限来设置 CNO.此外,使用运行 Windows Server 20 ...

  7. C++之vector中元素删除

    今天在删除vector中的元素中遇到一个问题,这里记录下来以便以后查阅. 预备知识:用到了erase()函数,对于一个容器c来说,假设迭代器为p,那么执行: c.erase(p)之后就删除了容器c中p ...

  8. 关于form.submit()不能提交表单的错误原因

    来源:http://www.ido321.com/948.html 直接上代码把: 1: <div id="register"> 2: <h4>会员注冊&l ...

  9. 关于java.lang.IllegalArgumentException: View not attached to window manager 错误的分析

    今天遇到一个很奇特的问题,当用户设置了PIN码,在锁屏界面正常解锁PIN码后,进入Launcher时显示com.android.phone 已停止运行.一开始猜想会不会是解锁PIN码的时候处理导致了P ...

  10. linux C 9*9

    #include<stdio.h> #include<conio.h> #include <windows.h> void Gotoxy(int x, int y) ...