yaffs2制作教程

合集下载

转载ramdisk.imgsystem.imguserdata.img介绍与解包、打包方法

转载ramdisk.imgsystem.imguserdata.img介绍与解包、打包方法

ramdisk.img system.img userdata.img介绍及解包、打包方法2011-11-25 11:37:24分类:ramdisk.img system.img userdata.img介绍及解包、打包方法Android 源码编译后,在out/target/product/generic下生成的三个镜像文件:ramdisk.img,system.img,userdata.img以及它们对应的目录树root,system,data。

ramdisk.img是根文件系统,system.img包括了主要的包、库等文件,userdata.img包括了一些用户数据,android加载这3个映像文件后,会把system和userdata分别加载到ramdisk文件系统中的system和data目录下。

三个镜像文件及其三个目录树之间的生成关系是我们进行ROM制作的基础,下面将做详细介绍。

Ramdisk镜像是采用cpio打包,gzip压缩的。

用file验证:# file ramdisk.img输出: # ramdisk.img: gzip compressed data, from Unix为了便于说明问题,我们将ramdisk.img拷贝到其它一个目录,然后按以下步骤将ramdisk.img还原为目录树:# mv ramdisk.img ramdisk.img.gz# gunzip ramdisk.img.gz# mkdir ramdisk#cd ramdisk#mkdir temp#cd temp# cpio –i –F ../ramdisk.img这样,就得到一个完整的ramdisk目录,与out/target/product/generic/root对比后,我们发现它们是一样的内容。

通过执行以下的操作,我们可由目录树再生成ramdisk镜像# cd temp# find . | cpio -o -H newc | gzip > ../ramdisk-new.img 这两个镜像都属于yaffs2文件格式,生成方式是一样的。

PhotoshopCS2平面设计与制作短训教程 第5课 图像的调整与影调的修饰.ppt

PhotoshopCS2平面设计与制作短训教程 第5课 图像的调整与影调的修饰.ppt
图 5-7 饱和度设置对话框与饱和度最大、最小值时的效果
调整明度可以改变图像的明 暗程度,最暗是黑色,最亮是白 色,设置对话框与明度增加和减 少的效果如图5-8所示。
图 5-8 明度设置对话框与明度增加、减少时的效果
4. 曲线调整
单击图5-1菜单中的“曲线”命令,弹出的对话框如图5-9所示。 可以进行颜色的精确调整,不但可以是多通道的,还可以是单一 通道的,如果是RGB模式,可以是红、绿、蓝三色通道,如果是 CMYK模式,则是洋红、黄、青和黑四色通道。调整前后的效果 对比如图5-10所示。
图 5-4 自动色阶调整效果
2. 亮度/对比度调整
单击图5-1菜单中的“亮度/对比度”命令,弹出对话框, 如图5-5所示,调整亮度和对比度,它是对图像的色调范围进行 简单的调整。与“曲线”和“色阶”不同,此命令对图像中的 每个像素进行同样的调整。“亮度/对比度”命令对单个通道不 起作用,效果如图5-5所示。
图 5-34 旋转180度效果图 5-35 顺时针旋转效果图 5-36 逆时针旋转效果
(3) 翻转 Photoshop CS2中有两种翻转:水平翻转和垂直翻转。 水平翻转:选择了区域或图层后,单击图5-33子菜单中的“水平 翻转”命令,立刻实现以过中心的垂直线为轴的水平翻转,效果 如图5-37所示。 垂直翻转:选择了区域或图层后,单击图5-33子菜单中的“垂直 翻转”命令,立刻实现以过中心的水平线为轴的垂直翻转,效果 如图5-37所示。
第5课 图像的调整与影调的修饰
本课学习利用调节命令调节图像的色彩 和影调,并调节图像的效果、画布和图像的 大小,对图像进行必要的修饰。
5.1 课前导读
图像的色彩调整主要是色阶调整、亮度调整、对 比度调整、色相和饱和度的调整。此外还可以进行变 化、曲线等精确调整,制作去色、换色、混合等特别 效果。

Fireworks 2

Fireworks 2

Fireworks MX教程(十三)制作虚线背景图片1.新建一个文件,设置如下图。

2.导出文件,在dreamweaver中,就可以把这个图像作为单元格的当前图像3.使用“缩放”工具,把画布放大800%。

4.使用矩形工具,在最中间处画一个点。

导出这个文件,在dreamweaver中,把这个图像作为单元格的背景,就可以做出虚线效果。

Fireworks MX教程(十四)去背景图1.打开要去背景的图片,使用魔术棒工具,选择图片中的背景。

1.在属性面板中设置容差,边缘可以选择羽化。

2.删除选中的背景,反复进行这个过程,最后的图片如下Fireworks MX教程(十五)圆角矩形框1.在工具面板上选择圆角矩形工具,在画布上绘制一个圆角矩形。

2.在属性检查器中设置如下。

3做出的圆角矩形框。

Fireworks MX教程(十六)制作阴影线1.新建一个文档,画布颜色为黑色。

2.选中“线条”工具,按住SHIFT键,画一条直线,颜色为黑色。

3按Ctrl+Shift+D键,克隆这条线,点击键盘上的向下键一下,然后把这条线的颜色变为白色。

最终的效果如下图。

Fireworks MX教程(十七)制作圆角图片使用圆角矩形作为蒙版,可以轻松的把图片变成圆角形状。

1.打开一个图片。

2使用圆角矩形工具在画布上画一个圆角矩形,在属性检查器上,输入它的大小,大小和上图的大小一样。

选中上图就可以知道它的大小。

3调整圆角矩形的填充颜色为白色。

把圆角矩形和实例中的“花”图片完全重合。

3.在层面板中,选中这两个图片,如果只有这两个图片,可以按CTRL+A全选。

选择菜单中的“蒙版”/“组合为蒙版”。

4.如果要输出有透明背景的图片,必须选择GIF或者PNG格式,PNG对照片级图片支持更好。

这里选择GIF,Alpha透明。

5.做好的圆角图片。

Fireworks MX教程(十八)文字蒙盖图像文本蒙版是一种矢量蒙版,只需将文本用作蒙版对象即可。

要取得成功的效果,文字的颜色需要改成白色,并且选择的字体尽量粗,实例中使用的是“汉仪超粗黑繁”。

Flash-AS2制作网络MP3音乐播放器

Flash-AS2制作网络MP3音乐播放器

Flash AS2XXX网络MP3音乐播放器在这个播放器中,我内置了几首歌曲的连接,点击节目单会看到它们.同时提供了一个音乐XXX的文本框,你可以输入任何歌曲的XXX进行播放.在播放时,会有一个播放进度条,同其它的媒体播放器一样,你可以点击进度条来移动歌曲的播放点,达到快进和快退的目的.而播放控制按钮功能也同其它媒体播放器一样.播放器中设置了音量调节滑块和声道调节滑块.而闪动的光栅的高度则随音量的高低的变化而变化.现在来XXX这个播放器的.1.首先来做一些准备工作.播放器的外观并非本教程的内容,但一些部件是必须的.先作5个按钮:播放,暂停,停止,快进,快退,如下图:它们的实例名称分别是:ply_btn,zd_btn,stop_btn,kj_btn,kt_btn2.下面来XXX进度条,新建一影片剪辑,画一细长矩形,新插入一层,再画一个相同长度不同颜色的矩形,并将它转换为影片剪辑元件,实例名称为:jdt_mc.回到主场景,将进度条影片剪辑放到舞台上,取实例名称为:jdk_mc.如图:3.声道控制面板,新建一影片剪辑,按下图画出声道控制面板:画一个小的矩形放到面板的中间刻度上,将小矩形转换为影片剪辑,或者就叫滑块吧.为它取实例名称:sdhk_mc.回到主场景,将声道控制影片剪辑拖到舞台上,为它取实例名称:sd_mc4.音量控制面板,新建影片剪辑,按下图画出音量控制面板:将滑块元件(在上一步中创建的)拖到舞台上,放到音量最大处(右边),为它取实例名称:ylhk_mc回到主场景,将音量控制影片剪辑拖到舞台上,为它取实例名称为:yl_mc5.节目单按钮,做下面一样的影片剪辑,放在舞台上,取实例名称为:jmdbtn_mc6.节目单,新建影片剪辑,画一矩形,在矩形上放一个文本框,输入歌曲名称,演唱者:同样的方法创建其它的歌曲名称影片剪辑.新建一影片剪辑,将这些歌曲名称影片剪辑,从库中拖入排好:分别给这些歌名影片剪辑取实例名称:song1_mc,song2_mc……..song5_mc.新建一图层,画一矩形盖住所有歌名,然后将这一层拖到最下面.这个矩形的颜色应与歌曲名称影片中的矩形颜色相同.回到主场景,将节目单影片剪辑拖到舞台上,放到节目单按钮下面,取实例名称为:song_mc7.光栅,新建影片剪辑,画如下图形:放在舞台上,然后复制4个,共5个,分别取实例名称为:gb1,gb2,gb3,gb4,gb58.XXX栏,在舞台上建一个动态文本框,取实例名称为:RUL_txt9.再放两个动态文本,用来用数字显示进度.两个文本框的实例名称分别为:dqcd_txt,zcd_txt10.好了,所有的东西都准备齐了,至于你想怎样将它们摆放得漂亮一些,那是你的事情了,本文不涉及到这些内容.我们要写代码了.[next]我们首先要获得歌曲的XXX,将XXX放到XXX文本框中,当然,最简单的办法是,直接在XXX框中输入XXX.但我们内置了几首歌,这就要为这些歌名元件添加点击事件,当点击时,将歌曲XXX放到XXX框中.在刚打开播放器时,我们让节目单不可见,点击节目单按钮后,才让节目单显示出来:song_mc._yscale = 0;这样节目单的高度为0,就不可见了.jmdbtn_mc.onRelease = function(){if(song_mc._yscale > 0){song_mc._yscale = 0;}else {song_mc._yscale=100;}}点击节目单按钮,如果节目单是打开的则关闭节目单,如果是关闭的则打开节目单.节目单打开后,就可以点击歌曲名称将XXX放到XXX框中了:song_mc.song1_mc.onRelease = function(){RUL_txt.text ="bbb:///%E5%9B%BD%E5%AE%B6160.mp3";song_mc._yscale=0;}song_mc.song2_mc.onRelease = function(){RUL_txt.text ="bbb://lfg.ourivyaaa/sjweb/enjoyment/music/tiany.mp3";song_mc._yscale=0;}song_mc.song3_mc.onRelease = function(){RUL_txt.text="bbb://xuegong.zhbitaaa/jx/edit/uploadfile/2008223213733227.mp3";song_mc._yscale=0;}song_mc.song4_mc.onRelease = function(){RUL_txt.text ="bbb://bbb/music/%E7%94%BB%E5%BF%83.mp3";song_mc._yscale=0;}song_mc.song5_mc.onRelease = function(){RUL_txt.text ="bbb://1968.wzegaaa/UploadFiles/2008-6/436743781.mp3";song_mc._yscale=0;}song_mc.song6_mc.onRelease = function(){RUL_txt.text ="bbb://211.155.30.36:8089/music/Audio/6.mp3";song_mc._yscale=0;}XXX栏中有了歌曲的XXX,那么就可以点击播放按钮播放歌曲了.首先要创建一个Sound类,用来加载mp3:var wmp3:Sound = new Sound();在播放前,应该将进度条设在0处:jdk_mc.jdt_mc._xscale = 0;将光栅的高度设为零,因为设光栅高度为零的动作要多次执行,所以将它做成一个函数,然后调用它:function gbhl(){for(i=1;i<6;i++){gb_mc = eval("gb"+i); gb_mc._yscale = 0;}}gbhl();我们还需要一些变量后面有用:var zcd;//歌曲的总长度var dqcd;//当前已播放的长度,用于暂停按钮和进度条var ztd =0;//暂停点,用于暂停按钮var jd;//进度条的位置var rul:String;//歌曲的XXXvar sdz;//声道的值var ylz;//音量的值这些变量现在不用管它,在后面用到它们时会给予说明的.接下来就该写播放按钮上的代码了,有了播放按钮,就可以兴赏音乐了.在播放时,首先应该判断当前是从头开始播放还是处于暂停状态,如果是暂停,那么我们上面声明的变量ztd就不会是0,根据这个变量是否为零就可以确定是从头开始播放还是从ztd开始播放,如果ztd为零,首先从XXX栏获得歌曲XXX,然后判定XXX是否为空,如果不为空则将进度条归零,然后加载歌曲,并播放歌曲.调用mp3pl()函数,这个函数是在歌曲播放过程中设置一些效果比如进度条,光栅等.如果ztd不为零,则歌曲从暂停点处播放,并调用mp3pl()函数.ply_btn.onRelease = function(){if(ztd ==0){rul = RUL_txt.text;if(rul){jdk_mc.jdt_mc._xscale = 0;wmp3.loadSound(rul,true);wmp3.start();mp3pl(wmp3);}}else {wmp3.start(ztd);mp3pl(wmp3);}}现在来看看mp3pl()函数,在这个函数中会用到Sound类的两个属性和一个方法,先介绍一下.duration属性:该属性返回声音的总长度,以毫秒计算.position属性:上一节已经介绍过,它返回声音已播放的长度,以毫秒计算.getVolume()方法:返回声音单量的大小,数字为0-100.在这个函数中,在onEnterFrame事件中,首先获取歌曲的总长度和当前已播放的长度,将这两个数字显示在文本框中,计算出播放进度,设置进度条的 _xscale比例,显示播放进度,然后根据音量设置光栅的高度,首先将_yscale设为音量的一半,然后将另一半设为random()产生随机数,这样就产生闪动的效果.function mp3pl(mp3){onEnterFrame = function(){zcd = mp3.duration/1000;dqcd = mp3.position/1000;zcd_txt.text = Math.floor(zcd); dqcd_txt.text = Math.floor(dqcd); jd = dqcd/zcd*100;jdk_mc.jdt_mc._xscale = jd;if(dqcd!=zcd){for(i=1;i<6;i++){gb_mc = eval("gb"+i);gb_mc._yscale =mp3.getVolume()/2+ random(mp3.getVolume()/2);}}}}现在应该基本成形了,剩下的就是几个按加上功能了.当点击进度条时根据鼠标在进度条上的位置,确定歌曲重新从那一点上开始播放,达到快进或快退的功能.jdk_mc.onRelease= function(){var djd = _xmouse - jdk_mc._x;var kjd = djd/jdk_mc._width*zcd;wmp3.stop();wmp3.start(kjd);}暂停按钮:记录当前已播放的长度,并存到ztd中,停止播放歌曲,这样当点击播放按钮时,因ztd不等于0,而使歌曲从ztd开始播放.zd_btn.onRelease =function(){ztd = dqcd;wmp3.stop();delete onEnterFrame;gbhl();}停止按钮:将ztd设为0,停止播放歌曲.stop_btn.onRelease=function(){wmp3.stop();ztd = 0;delete onEnterFrame;gbhl();}快进快退按钮,在当前已播放长度的基础上加上或减去5秒,重新播放歌曲kj_btn.onRelease=function(){wmp3.stop();kjd = dqcd + 5;wmp3.start(kjd);}kt_btn.onRelease=function(){wmp3.stop();ktd = dqcd - 5;wmp3.start(ktd);}下面的声道控制,在Sound类,的setPan()方法可以设置声音的声道,值为0-100,0声音将完全由左声道播出,而100则完全由右声道播出. 当移动声道控制上滑块,放开时根据滑块的位置设置声道的值.sd_mc.sdhk_mc.onPress = function(){startDrag(this,true,0,0,sd_mc._width-this._width/2,0);}sd_mc.sdhk_mc.onRelease = function(){stopDrag();sdz = (this._x)/sd_mc._width*100;wmp3.setPan(sdz);}音量控制,在Sound类中可以使用setVolume()方法设置声音的音量,值为0-100,当移动音量控制上滑块,放开时根据滑块的位置设置音量的值.yl_mc.ylhk_mc.onPress = function(){startDrag(this,true,0,0,yl_mc._width-this._width/2,0);}yl_mc.ylhk_mc.onRelease = function(){stopDrag();ylz = (this._x)/yl_mc._width*100;wmp3.setVolume(ylz);}OK,现在真正的完全完成了,静下心来欣赏音乐吧.完整的代码:song_mc._yscale = 0;var wmp3:Sound = new Sound();var zcd;var dqcd;var ztd =0;var jd;var rul:String;var sdz;var ylz;jdk_mc.jdt_mc._xscale = 0;gbhl();ply_btn.onRelease = function(){if(ztd ==0){rul = RUL_txt.text;if(rul){jdk_mc.jdt_mc._xscale = 0;wmp3.loadSound(rul,true);wmp3.start();mp3pl(wmp3);}mp3pl(wmp3);}}jdk_mc.onRelease= function(){var djd = _xmouse - jdk_mc._x;var kjd = djd/jdk_mc._width*zcd;wmp3.stop();wmp3.start(kjd);}function mp3pl(mp3){onEnterFrame = function(){zcd = mp3.duration/1000;dqcd = mp3.position/1000;zcd_txt.text = Math.floor(zcd);dqcd_txt.text = Math.floor(dqcd);jd = dqcd/zcd*100;jdk_mc.jdt_mc._xscale = jd;if(dqcd!=zcd){for(i=1;i<6;i++){gb_mc = eval("gb"+i);gb_mc._yscale =mp3.getVolume()/2+ random(mp3.getVolume()/2);}}}}jmdbtn_mc.onRelease = function(){if(song_mc._yscale > 0){song_mc._yscale = 0;}else {song_mc._yscale=100;}}song_mc.song1_mc.onRelease = function(){RUL_txt.text ="bbb:///%E5%9B%BD%E5%AE%B6160.mp3";song_mc._yscale=0;RUL_txt.text ="bbb://lfg.ourivyaaa/sjweb/enjoyment/music/tiany.mp3";song_mc._yscale=0;}song_mc.song3_mc.onRelease = function(){RUL_txt.text ="bbb://xuegong.zhbitaaa/jx/edit/uploadfile/2008223213733227.mp3";song_mc._yscale=0;}song_mc.song4_mc.onRelease = function(){RUL_txt.text ="bbb://bbb/music/%E7%94%BB%E5%BF%83.mp3";song_mc._yscale=0;}song_mc.song5_mc.onRelease = function(){RUL_txt.text ="bbb://1968.wzegaaa/UploadFiles/2008-6/436743781.mp3";song_mc._yscale=0;}song_mc.song6_mc.onRelease = function(){RUL_txt.text ="bbb://211.155.30.36:8089/music/Audio/6.mp3";song_mc._yscale=0;}function gbhl(){for(i=1;i<6;i++){gb_mc = eval("gb"+i);gb_mc._yscale = 0;}}stop_btn.onRelease=function(){wmp3.stop();ztd = 0;delete onEnterFrame;gbhl();}zd_btn.onRelease =function(){ztd = dqcd;wmp3.stop();delete onEnterFrame;gbhl();wmp3.stop();kjd = dqcd + 5;wmp3.start(kjd);}kt_btn.onRelease=function(){wmp3.stop();ktd = dqcd - 5;wmp3.start(ktd);}sd_mc.sdhk_mc.onPress = function(){startDrag(this,true,0,0,sd_mc._width-this._width/2,0);}sd_mc.sdhk_mc.onRelease = function(){stopDrag();sdz = (this._x)/sd_mc._width*100;wmp3.setPan(sdz);}yl_mc.ylhk_mc.onPress = function(){startDrag(this,true,0,0,yl_mc._width-this._width/2,0);}yl_mc.ylhk_mc.onRelease = function(){stopDrag();ylz = (this._x)/yl_mc._width*100;wmp3.setVolume(ylz);}(注:可编辑下载,若有不当之处,请指正,谢谢!)。

烧写ARM开发板系统教程-----uboot、内核以及文件系统

烧写ARM开发板系统教程-----uboot、内核以及文件系统

烧写ARM开发板系统教程-----uboot、内核以及⽂件系统⼀、sd启动将u-boot镜像写⼊SD卡,将SD卡通过读卡器接上电脑(或直接插⼊笔记本卡槽),通过"cat /proc/partitions"找出SD卡对应的设备,我的设备节点是/dev/sdb.(内存卡的节点)。

当有多个交叉编译器是,不⽅便设置环境变量时,可以在编译命令中指定交叉编译器,具体如下:在源码中操作以下步骤:make distcleanmake ARCH=arm CROSS_COMPILE=/opt/FriendlyARM/toolschain/4.5.1/bin/arm-none-linux-gnueabi- mrpropermake ARCH=arm CROSS_COMPILE=/opt/FriendlyARM/toolschain/4.5.1/bin/arm-none-linux-gnueabi- tiny210_configmake ARCH=arm CROSS_COMPILE=/opt/FriendlyARM/toolschain/4.5.1/bin/arm-none-linux-gnueabi- all spl编译出tiny210-uboot.bin,注意交叉编译⼯具路径执⾏下⾯的命令$sudo dd iflag=dsync oflag=dsync if=tiny210-uboot.bin of=/dev/sdb seek=1把内存卡插⼊开发板,使⽤串⼝⼯具设置环境变量:setenv gatewayip 192.168.1.1(电脑⽹关)setenv ipaddr 192.168.1.102(开发板ip,不要与虚拟机和电脑ip冲突)setenv netmask 255.255.255.0setenv serverip 192.168.1.10(虚拟机ip)saveenv⼆、nand启动烧写Uboot:通过SD卡启动的u-boot for tiny210 将u-boot镜像写⼊nandflash在虚拟机下重启tftp sudo service tftpd-hpa restart开发板终端下执⾏下⾯的命令:[FriendlyLEG-TINY210]# tftp 21000000 tiny210-uboot.bin[FriendlyLEG-TINY210]# nand erase.chip[FriendlyLEG-TINY210]# nand write 21000000 0 3c1f4 (写⼊长度)内核的烧写位置是0x600000开始的区域,⽂件系统烧写位置为0xe00000开始的区域。

Photoshop CS2 精品教程-第3章

Photoshop CS2 精品教程-第3章

3.5 选区的编辑与应用
3.5.1 选区的描边
选区的描边是指沿着选区的边缘描绘指定宽度的颜色。
3.5.2 选区的填充
选区的填充是指在选区的内部填充颜色或图案,并且在填充 的同时还可设置填充颜色或图案的混合模式和不透明度。
具体的操作方法请参阅 视频“V3-10.avi”。
3.6 上机实践——绘制可爱的小熊
3.3.3 图层对选区制作的影响
在利用魔棒工具制作选区时,在其工具属性栏中,勾选“对 所有图层取样”复选框表示将从所有图层中选取颜色相近区 域。不勾选该复选框则表示只选取当前图层的颜色相近区域。 具体操作请参阅视频“V3-9.avi”。
未勾选“对所有 图层取样”单选 钮后的选取效果 勾选“对所有 图层取样”单 选钮后的选取 效果
选区的收缩与选区的扩展正好相反,“收缩选区”可将制作 好的选区按指定的像素进行收缩。“收缩选区”命令一般用 来制作空心字,如下图所示。 要收缩选区,选择“选择”>“修改”>“收缩”菜单即可。
3.4.4 平滑选区
平滑选区是按指定的半径值来平滑选区的尖角。通常用来消 除用魔棒工具、“色彩范围”命令定义选区时所选择的一些 不必要的零星区域。
3.3 创建颜色相近的选区
3.3.1 用魔棒工具按颜色制作选区
魔棒工具属于灵活性很强的选择工具,通常用它选取图像中 颜色相同或相近的区域,而不必跟踪其轮廓。其具体的使用 方法可参阅视频“V3-7.avi”。
3.3.2 用“色彩范围”命令按颜色制作选区
利用“色彩范围”命令可以制作非常复杂的选区。用户可通 过在图像窗口中指定颜色来定义选区,也可通过指定其他颜 色来增加或减少选区。具体使用方法可参阅视频“V3-8.avi”。
3.1.3 选区的增减与相交

使用yaffs2img工具制作Android刷机包教程

使用yaffs2img工具制作Android刷机包教程

制作刷机包打开‘yaffs2img浏览器’,点击左上角的‘选取yaffs2文件’选择你刚刚复制出来的files文件夹里的system.img先来认识一下这个软件1.定制软件的提取(此部和制作刷机包没关系,可以不做,想用官方软件的同学可以看看)选择app,右键你想要提取软件,提取就可以了,我是把整个app文件夹提取出来了,不用的软件直接删掉好了2.定制软件的精简在你不想要用的软件上直接右键,删除,就好了,你也可以右键添加你想要用的软件,得把软件改成比较简短的英文名,否则有可能不能用秀一下我精简后的列表,大家可以参照着精简uncher文件的替换下载好你想要用的桌面软件,改名为‘Launcher’,删掉app中的‘Launcher2’,添加进去你改好名字的‘Launcher’就好了,我比较喜欢ADW,所以我把ADW的文件名改为Launcher,替换掉原来的Launcher2就好了4.破音问题的解决在左边导航点选‘etc’,右键添加文件,把附件中的声音配置文件解压出来‘AudioFilter.csv’添加进去就好了AudioFilter.rar (355 Bytes)5.字体的更改下载字体文件,中文字体库一律把名字改名为‘DroidSans Fallback.ttf’,英文字体改为‘DroidSans.ttf ’,加粗的英文字体改为‘DroidSans-Bold.ttf ’然后再左边导航栏点选‘fonts’,把之前自带的字体删除,然后把你改好名字的字体添加进去就好了把国产机皇的字体也分享给大家,中文+英文+英文加粗6.开机音乐和照相机音乐的删除在导航栏点选‘media’,在audio/ui文件夹下,删除‘Bootsound.mp3’(开机音乐)和‘camera_click.ogg’(相机按键音)7.开机画面的定制先导出‘media’中的压缩包‘bootanimation.zip’,解压出来参照着做,里面总共有part0、part1、desc.txt三个,desc文档里的东西是开机画面的播放控制参数240 320 6 p 1 0 part0 p 0 0 part1240 320 6 [240是照片宽度,320是照片高度,6是每秒连续现在六张的意思,也就是帧数,可以根据自己加入连续动画的速度调整大小]p 1 0 part0 [part0文件夹中的画面全部显示一遍,不懂的就不要修改了] p 0 0 part1 [part1中的画面显示一遍并停留在这张画面]添加的图片的要求:240X320,png格式,文件不要太大,图像的编辑可以用‘可牛’,照片大小的压缩可以用‘JPEGImager’全部添加好以后就要压缩成zip格式的包了,选中part0、part1、desc.txt这三个文件,右键选择‘添加到压缩文件’做好压缩包以后,删除原有的‘bootanimation.zip’,添加你刚刚制作的新‘bootanimation.zip’’8.取得永久root权限(未测试,测试完的同学回个帖)9.更版本信息,在rom里签上你自己的名字让你的手机信息里显示你自己的版本,让你的ROM独一无二这是我的版本信息,秀一秀修改方法在此,嘿嘿导出system\build.prop,以记事本的方式打开在图中方框位置添加进你的信息就好了我的修改好是这样的,参照着改就好了,修改完替换掉原有的build.prop就好了慢慢做吧,你专属的ROM制作是那么的简单,嘿嘿10.通知栏,电池,信号,系统图标,关机画面,默认壁纸修改修改这些主要是修改system\ framework 里的‘framework-res.apk’系统框架文件如果新的图标和想要替换掉的分辨率不一样,替换以后显示可能会有点问题,最好分辨率调成一样以后再替换图片编辑可以用PS,也可以用可牛影像,我不会用PS,用的可牛影像10.1关机画面以压缩文件模式打开‘framework-res.apk’,解压出assets文件夹,把assets\images\N600_Shutdown替换成你想要的开机画面就可以了,文件必须是png格式,分辨率为240 x 320,文件名必须为N600_Shutdown,改好之后删掉framework-res.apk中原有的assets文件夹,把修改好的文件夹添加进去就好了10.2默认桌面的修改方法和修改关机画面一样,只要把res\drawable\default_wallpaper替换掉就可以了,格式为JPEG,分辨率为480 x 320,10.3解锁画面的修改在\res\drawable-ldpi里,替换掉里面的图片就好了,也可以替换时间的字体10.4电池,信号,系统图标的修改电池,信号,系统图标的修改同样是直接替换,N600+调用的系统图标都在res\drawable-mdpi目录下,可以用其他手机的framework-res.apk下的图标直接替换掉,我用的是网上下载的,顺便传上来framework-res.rar (3.6 MB)如果把所有图标替换掉也是这个效果,通知栏可以透明,就是显示不是很好有的手机调用图标是res\drawable-hdpi里面的图标,注意区分顺便把魅族M9的framework-res.apk也传上来吧,可以借鉴里面的图标下载地址:/file/f525058b67再给出几张不同颜色的透明图片以供选用,可以放大图片,然后截取你想要的部分透明背景.rar (228.85 KB)10.5设置菜单的修改修改system\app\settings\res里对应的图标就好了,大家可以参考夜游神的美化刷机包进行修改借鉴/thread-156248-1-1.html10.6软件图标和背景的修改还是修改软件里res目录里的图片,套路都是一样的,保持图片的格式分辨率一致就好了,修改完别忘了签名美化教程:安卓APK软件美化图标全图文教程给出一个实例,QQ的美化教程,其他软件的美化都差不多,大家参照着改就好了/bbs/thread-1032572-1-1.html11.保存DIY好的刷机包点选上面的整理另存在弹出的对话框直接点确定就好了以文件名‘system.img’保存在桌面或者其他地方,然后拖到files文件夹中替换原来的system.img文件就好了卡刷包的制作方法有时间再更新接下来你就可以享用自己DIY的rom了第一次在这么权威的论坛发帖,有什么不足请大家多多指教,祝你DIY的开心!!!!最后友情提醒:别忘了顶贴附上我自己制作的精简刷机包[全部没有root,想要root看一下教程]:5.2更新的版本:最精简最稳定的2.2ROM\系统仅占25.14M\系统图标美化\透明电量控制[线刷]/thread-146503-1-1.html以下为4.16版本:NO.1 sdl1836_2.2_华康少女[77.78MB]:/file/f5c483aecfNO.2 sdl1836_2.2_萝莉体[77.72MB]:/file/f58cb22f9fNO.3 sdl1836_2.2_自带字体[73.45MB]:/file/f56880e859下载 (14.73 KB) 2011-4-16 19:13。

photoshop cs2经典教程

photoshop cs2经典教程

实例制作 火焰字的制作
操作步骤: 1、新建一个700*450像素,背景为白色的图像文件; 2、填充背景为黑色; 3、选择文字工具中的“横排文字蒙板工具”,输入“FIRE”,调出字符面板, 调整文字的大小与字体等 4、用油漆桶工具为文字填充为白色,取消选择; 5、选择工具箱中的涂抹工具,在画笔里面选择一中带纹理的画笔(32); 6、执行“编辑”->“首选项”->“显示与光标”->选中“尺寸画笔笔尖”; 7、利用涂抹工具一笔一笔涂抹出火焰的效果; 8、为火焰添加颜色,点击图层面板下的“创建新的事填充或调整图层”按钮, 选择“色彩平衡”,调整色阶为:85 0 -28,选择高光->确定; 9、再制作一个文字层,选择文字工具中的横排文字工具,输入“FIRE”,调 整位置,与背景文字重合,图层混合模式调整为叠加; 10、对背景层添加滤镜,选择“滤镜”->“模糊”->“高斯模糊”,半径为3.2 11、复制背景层,在副本上点击图层面板下的“创建新的事填充或调整图 层”->色彩平衡->色阶:89 22 -62; 12、选择“FIRE”文字图层,调整不透明度为65%.
实例制作
光辉字的制作
操作步骤: 1、新建一个340*100像素RGB模式的文件,前景色为 白色; 2、点击文字工具,输入黑色文字“暑期培训”; 3、右键点击字体图层进行删格化,然后合并图层; 4、执行滤镜-&
1、设置文本的旋转和变形的方法; 2、介绍更改文本排列方式的操作方法; 3、将文本转换为选取范围的具体方法; 4、将文本转换为路径和形状的全体方法; 5、设置文本拼写检查的方法; 6、使用文本查找与替换的操作方法;
第一讲 工具箱
1、选框工具 7、画笔和铅笔工具
2、套索工具
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Yaffs2根文件系统制作环境:交叉编译环境:4.3.3 (天嵌科技提供,存放路径/opt/EmbedSky/4.3.3)开发平台:TQ24401,编译busybox获取busybox源码busybox-1.17.2.tar (/downloads/)置于目录/opt/embed下#tar jxvf busybox-1.17.2.tar.bz2#cd busybox-1.17.2#vim Makefile将164行改为CROSS_COMPILE = arm-linux- 将190行改为ARCH = arm 保存推出进入配置菜单#make menuconfig 采用默认配置保存推出#make#make install在busybox-1.17.2的根目录下出现了一个_install目录在该目录下又有三个目录文件bin sbin usr 和一个链接文件 linuxrc 。

2,创建根文件系统必要的目录回到/opt/embed目录下创建根文件系统必要的目录#mkdir root_fs#cd root_fs将刚才生成的三个目录bin sbin usr和一个链接文件linuxrc考到目录root_fs下#cp -rf ../busybox-1.17.2/_install/* ./#mkdir dev etc home lib mnt opt proc root sys tmp var创建几个必要的二级目录#mkdir usr/lib usr/share#mkdir etc/rc.d#mkdir var/lib var/lock var/run var/tmp3,创建必要文件(1), 获取库文件 (我的交叉编译工具链放在目录 /opt/EmbedSky/下的)#cp -rf /opt/EmbedSky/4.3.3/arm-none-linux-gn?i/libc/armv4t/lib/* so* lib -a(2),将主机 etc 目录下的passwd、group、shadow文件拷贝到 root_fs/etc 目录下#cp -f /etc/passwd /etc/group /etc/shadow etc将目录/opt/embed/busybox-1.17.2/examples/bootfloppy/etc下的所有文件拷贝到root_fs/etc下。

在这个目录下有三个文件fstab, inittab, profile和一个目录init.d,在目录init.d中有一个文件rcS。

#cp -rf ../busybox-1.17.2/examples/bootfloppy/etc/* etc在目录etc下创建文件mdev.conf。

mdev是?v的一个简化版本,我们可以通过文件mdev.conf自定义一些设备节点的名称或链接来满足特定的需要,但在此处让它为空。

#touch etc/mdev.conf(3)创建两个设备文件dev/console dev/null。

在linux内核源码文件init/main.c中有打开设备文件dev/console 的操作如下:static noinline int init_post(void)__releases(kernel_lock){………………………………if (sys_open((const char __user *) "/dev/console", O_RDWR, 0) < 0 )printk(KERN_WARNING "Warning: unable to open an initial console.\ n");………………………………}内核启动执行到这里时mdev还没有构建dev目录,如果没有创建设备文件dev/console就将会打印警告Warning: unable to open an initial console。

在内核启动的过程中要将产生的一些垃圾信息丢弃就需要空设备dev/null。

#mknod dev/console c 5 1#mknod dev/null c 1 34,几个必要文件的修改在启动过程中bootloader会传递参数init=/linuxrc给内核的main( )函数,所以在文件系统被挂在后,运行的第一个程序是linuxrc,而linuxrc是一个指向/bin/busybox的链接文件,也就是说文件系统被挂在后运行的第一个程序是busybox。

Busybox首先会解析文件/etc/inittab,这个文件中存放的是系统的配置信息,这些配置信息指明了接下来将要启动那些程序。

(1),修改文件etc/inittab如下::sysinit:/etc/init.d/rcStq2440_serial0::askfirst:-/bin/sh::ctrlaltdel:/sbin/reboot::shutdown:/bin/umount -a -r/etc/inittab 文件中每个条目用来定义一个子进程,并确定它的启动方法,格式如下<id>:<runlevels>:<action>:<process><id>:表示这个进程要使用的控制台(即标准输入、标准输出、标准错误设备)。

如果省略,则使用与init进程一样的控制台。

<runlevels>:对于Busybox init程序,这个字段滑意义,可以省略。

<action>:表示init程序如何控制这个子进程,<process>: 要执行的程序,它可以是可执行程序,也可以是脚本文件etc/inittab配置条目说明如下:::sysinit:/etc/init.d/rcS启动系统初始化文件/etc/init.d/rcS。

字段sysinit表明文件/etc/init.d/rcS在系统启动后最先执行,并且只执行一次,init进程等待它结束才继续执行其它动作。

(脚本文件名一般为rc,后缀S代表单用户运行级别脚本)tq2440_serial0::askfirst:-/bin/sh在串口tq2440_serial0上启动askfirst动作的shell。

S3C2410的串口名在/dev下是s3c2410_serialx。

此时还没有移植自己的内核,用天嵌科技的内核所以串口名为tq2440_serial0。

askfirst表明init进程先输出“Please press Enter to actvie this console”,等用户输入回车键之后才启动-/bin/sh。

::ctrlaltdel:/sbin/reboot当按下Ctrl+Alt+Delete组合键时,init重启执行程序。

字段ctrlaltdel表明当按下Ctrl+Alt+Delete组合键时,执行相应的进程。

::shutdown:/bin/umount -a -r告诉init在关机时运行umount命令卸载所有的文件系统,如果卸载失败,试图以只读方式重新挂载。

字段shutdown表明在重启关闭系统命令时执行相应进程。

(2),当解析完文件etc/inittab后就将启动这些进程,首先要执行的是启动脚本etc/init.d/rcS。

修改文件etc/init.d/rcS如下:#! /bin/shPATH=/sbin:/bin:/usr/sbin:/usr/binrunlevel=Sprevlevel=Numask 022export PATH runlevel prevlevel/bin/hostname cyembedecho "----------mount all----------"/bin/mount -aecho /sbin/mdev>/proc/sys/kernel/hotplugmdev -secho "**************************************"echo "**************************************"echo "Kernel version:linux-2.6.30.4"echo "Date:2010.09.16"echo "**************************************"说明如下:#! /bin/sh 用busybox的shellPATH=/sbin:/bin:/usr/sbin:/usr/bin //shell命令的搜索路径runlevel=S //运行在单用户模式prevlevel=N //前一个级别为n表示没有前一个级别umask 022 //权限位掩码export PATH runlevel prevlevel //将设置的变量导出到环境中/bin/hostname cyembed //主机名,cyembed将出现在shell提示符中[root@cyembed/]#/bin/mount -a //将文件etc/fstab中指明的文件系统挂载到对应挂载点上echo /sbin/mdev>/proc/sys/kernel/hotplug //用mdev来处理内核的热插拔事件。

当有热插拔事件产生时,内核就会调用位于/sbin目录的 mdev。

这时 mdev通过环境变量中的 ACTION 和 DEVPATH,(这两个变量是系统自带的)来确定此次热插拔事件的动作以及影响了/sys 中的那个目录。

接着会看看这个目录中是否有“dev”的属性文件,如果有就利用这些信息为这个设备在/dev 下创建设备节点文件。

mdev -s //建立dev目录。

以‘-s’为参数调用位于/sbin 目录写的 mdev (其实是个链接,作用是传递参数给/bin目录下的busybox 程序并调用它),mdev扫描 /sys/class 和/sys /block中所有的类设备目录,如果在目录中含有名为“dev”的文件,且文件中包含的是设备号,则 mdev 就利用这些信息为这个设备在/dev下创建设备节点文件。

一般只在启动时才执行一次“mdev -s”。

(3),修改文件etc/fstab如下:#device mount-point type option dump fsck ord erproc /proc proc defaults 0 0none /tmp ramfs defaults 0 0sysfs /sys sysfs defaults 0 0mdev /dev ramfs defaults 0 0在系统启动初始化文件/etc/init.d/rcS中有执行挂载命令/bin/mount -a ,这便是将文件etc/fstab中指定的文件系统挂载到对应的挂载点上。

相关文档
最新文档