为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

开机动画、壁纸、应用程序图标的总结

2018-11-25 10页 doc 26KB 7阅读

用户头像

is_633423

暂无简介

举报
开机动画、壁纸、应用程序图标的总结一.开机动画的替换 A.Android平台启动初始化,出现"A N D R I O D"文字字样画面的替换 这里所说的LOGO是在KERNAL启动后由init进程调用显示的LOGO. Android中使用的LOGO是rle格式,一种压缩格式。 1. 将图象转换为RAW格式,使用GIMP或者Advanced Batch Converter软件,将图象转换为RAW格式。 2. 使用android自带的rgb2565工具,将RAW转换为RLE 用法:rgb2565 -rle initlogo.rle rgb2565...
开机动画、壁纸、应用程序图标的总结
一.开机动画的替换 A.Android平台启动初始化,出现"A N D R I O D"文字字样画面的替换 这里所说的LOGO是在KERNAL启动后由init进程调用显示的LOGO. Android中使用的LOGO是rle格式,一种压缩格式。 1. 将图象转换为RAW格式,使用GIMP或者Advanced Batch Converter软件,将图象转换为RAW格式。 2. 使用android自带的rgb2565工具,将RAW转换为RLE 用法:rgb2565 -rle < initlogo.raw > initlogo.rle rgb2565 原码在:mydroid_1.5/build/tools/rgb2565 目录下 生成的执行程序在:mydroid_1.5/out/host/linux-x86/bin 执行过程: (1)、先进入mydroid_1.5/out/host/linux-x86/bin(Z:\rk-Eclair\out\host\linux-x86\bin)目录下,若没有rgb2565则先进入mydroid_1.5/build/tools/rgb2565进行mm生成相应的可执行文件; (2)、将要转换的raw文件拷至目录mydroid_1.5/out/host/linux-x86/bin下,执行:./rgb2565 -rle < initlogo.raw > initlogo.rle 即可; 3. 将initlogo.rle打包到根文件系统中,将initlogo.rle 拷贝至 mydroid_1.5/out/target/product/w7/root/initlogo.rle(Z:\rk-Eclair\out\target\product\generic\ro ot) 其相应的代码为: mydroid_1.5/system/core/init/init.c mydroid_1.5/system/core/init/logo.c B.Android平台上层图形系统启动,出现含闪动的ANDROID字样的动画图片的替换 有两种替换方法, 方法一(推荐使用),共有5个步骤 1把需要压缩的文件和图片目录准备好 Android 2.0 开机动画文件。 开机动画文件:bootanimation.zip 动画是由系列图片连续刷屏实现的。。 bootanimation.zip文件是zip压缩文件,压缩方式要求是存储压缩,包含一个文件和两个目录: 1)动画属性描述文件:desc.txt 2)第一阶段动画图片目录:part0 3)第二阶段动画图片目录:part1 desc.txt文件内容: 480 427 30 p 1 0 part0 p 0 10 part1 desc.txt文件分析: 480 427 30 宽高帧数 p 1 0 part0 标志符循环次数阶段切换间隔时间对应目录名 p 0 10 part1 标志符循环次数阶段切换间隔时间对应目录名 ================== 480表示的是图片显示的宽,427表示的图片显示的高。 标志符: 必须是: p 循环次数: 0 : 表示本阶段无限循环 阶段切换间隔时间: 单位是一个帧的持续时间,比如帧数是30,那么帧的持续时间就是1秒/30 = 33.3毫秒。 阶段切换间隔时间期间开机动画进程进入休眠,把CPU时间让给初始化系统使用。 也就是间隔长启动会快,但会影响动画效果。 part0和part1目录内包含的是两个动画的系列图片,图片为PNG格式。 系列图片文件的加载刷新按文件名的名称排序。 2 使用压缩软件7Zip,制作bootanimation.zip文件,点"Add to archive...",把选项"Compression level" 设置为"store"。 3 把bootanimation.zip放到out/target/product/generic/system/etc,重新生成镜像文件 4 然后烧写到SDK板中,当开机进入老动画的时候,在窜口终端输入 busybox cp /system/etc/bootanimation.zip /data/local 5 重新启动便可 方法二(不推荐使用): 1 开机图片存放目录, frameworks/base/core/res/assets/images(Z:\rk-Eclair\frameworks\base\core\res\assets\images): android-logo-mask.png Android默认的前景图片,文字部分镂空,大小256×64 android-logo-shine.png Android默认的背景图片,有动感效果,大小512×64 把要动画图片都放到该目录下,这里命名为01.png、02.png、03.png。。。 2 开机代码存放在: frameworks/base/cmds/ bootanimation(Z:\rk-Eclair\frameworks\base\cmds\bootanimation)修改BootAnimation.cpp代码,假如共33张图片,修改大致如下 bool BootAnimation::android() { //new boot image for rockchip int loop; char filename[33][20]; int fileleng = 33; for(loop = 0; loop < 33; loop++) { sprintf(filename[loop],"images/%02d.png",loop); } initTexture(&mAndroid[0],mAssets,filename[0]); initTexture(&mAndroid[1],mAssets,filename[1]); //clear screen glDisable(GL_DITHER); glDisable(GL_SCISSOR_TEST); glClear(GL_COLOR_BUFFER_BIT); eglSwapBuffers(mDisplay, mSurface); glEnable(GL_TEXTURE_2D); glTexEnvx(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE); //图片允许在屏幕中显示的位置和最大值 const Rect updateRect(0, 0, mWidth, mHeight); // draw and update only what we need mFlingerSurface->setSwapRectangle(updateRect); glScissor(updateRect.left, mHeight - updateRect.bottom, updateRect.width(), updateRect.height()); // Blend state glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); glTexEnvx(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE); // 3 最后依序显示与解析图片 loop = 0; int loop_in = 2; int loop_count = 0; const nsecs_t startTime = systemTime(); do{ nsecs_t now = systemTime(); if(loop_count == 2){ //控制动画效果的快慢,数字越大越慢if(loop < (fileleng - 1)){ loop ++; } else { loop = 22; //从这里开始反复循环 } loop_count = 0; } loop_count ++; if(loop_in < fileleng){ initTexture(&mAndroid[loop_in],mAssets,filename[loop_in]); loop_in ++; } glDisable(GL_BLEND); glBindTexture(GL_TEXTURE_2D, mAndroid[loop].name); //画出该图片的大小,超出允许的最大值部分则丢失glDrawTexiOES(0,0, 0, mWidth, mHeight); eglSwapBuffers(mDisplay, mSurface); //EGLBoolean res = eglSwapBuffers(mDisplay, mSurface); //if (res == EGL_FALSE) //break; const nsecs_t sleepTime = 83333 - ns2us(systemTime() - now); if (sleepTime > 0) usleep(sleepTime); } while (!exitPending()); for(loop=0;loopContacts 大图标在目录res/drawable-hdpi下 大图标:ic_launcher_contacts.png 小图标在目录res/drawable-mdpi下 小图标:ic_launcher_contacts.png
/
本文档为【开机动画、壁纸、应用程序图标的总结】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索