精华内容
下载资源
问答
  • word选定区域填充颜色
    2021-05-02 03:37:20

    如何在EXCEL中设置隔列着色

    快速实现Excel和Word表格行交错着色

    1.选择要进行着区域。

    2.执行“→条件格式”,打开“条件格式”对话框。单击打开“条件1”的下拉列表,选择“公式”,在右侧的文本框中输入公式“=MOD(ROW(),2)=1”。再单击“格式”按钮,打开“单元格格式”对话框,指定一种颜色。公式的作用是选出行号为奇数的行,凡符合此公式条件的单元格即采用所指定的颜色格式。

    3.单击“添加”按钮,添加第二个条件公式“=MOD(ROW(),2)=0”,再按上面的方法指定第二种颜色。即凡选中区域中行号为偶数的行,将以此颜色填充。

    指定第二种颜色

    4.单击“确定”按钮,关闭对话框,选中区域即遵照上述设置按行号的奇偶数交错着色。

    交错着色效果

    用这种方法制作出的奇偶行颜色交错的表格,有一个特点:在此区域中添加删除行时,其他所有受影响行都能根据其行号的奇偶自动重新调整颜色。

    那么,对于Word中的表格,又该如何做?笔者反复尝试,发现自定义表格样式是一个较好的选择,能够实现类似于上述Excel表格的效果。操作步骤如下:

    1.执行“表格”→“表格自动套用格式”,打开“表格自动套用格式”对话框。

    2.单击“新建”按钮,打开“新建样式”对话框(也可以选择一种样式,再单击“修改”按钮,将弹出“修改样式”对话框),在“名称”框中为新样式命名,此处命名为“我的表格”。

    3.单击展开“格式应用于”列表,选择“标题行”,利用下面的工具按钮,设置首行的填充色以及框线的类型和粗细,如果感觉这样设置比较麻烦,可单击左下角的“格式”按钮,选择“边框和底纹”命令,在对话框中进行设置。

    样式设置

    本例中将实现外框双实线,内分隔线单实线的效果,标题行线型及填充颜色设置后效果如图5。

    样式设置

    4.单击打开“格式应用于”列表,分别选择“末行”、“奇数行”、“偶数行”,用同样方法一一设置。

    样式设置

    需要说明一下,在自定义表格样式中,“格式应用于”列表中的“奇数行”其实是实际表格中的偶数行,而“偶数行”是实际表格中的奇数行(因为标题行被排除在外了)。

    5.勾选“添加到模板”复选框,单击“确定”按钮,保存样式并将此样式添加到Normal模板中。

    6.需要使用时,先将插入点置于表格中,执行“表格”→“表格自动套用格式”,在“表格样式”框中选择“我的表格”样式,单击“应用”按钮,该表格即会自动套用这种自定义的表格样式。如果文档中需要新建此种类型的表格,可先将插入点置于绘制表格处,然后执行“表格”→“表格自动套用格式”,选择“我的表格”样式,单击“应用”按钮,将弹出“插入表格”对话框,输入行列数后即可插入同种样式的表格。

    这种自定义的表格样式,同样具有自动效果,在添加、删除行时,相关行的填充色也会随之自动调整改变,达到了和上面Excel表格中的同样效果。

    Excle表格鼠标放哪里,哪里就自动上色,求解决。

    如果是2003,好象自带的没有,你可以网上下载装一个叫“易用宝”的插件,就是这样的效果。

    Excel中如何根据某一列的值对整行进行颜色填充?

    1、选中要进色的单元格。

    2、然后点击工具栏新建规则。

    3、新建规则后,点击进入使用公式确定要设置格式的单元格,然后输入公式=$B2="一年级"。

    4、输入公式后,点击进入设置格式。

    5、设置好格式后,点击确定,一年级的就全部选中标红了。

    EXCEL中,如何将某列中满足特定条件的单元格填充颜色?

    一、选中整--条件格式--新则

    二、选择第1项“使用公式确定要格式的单”;

    第2项设置条件公式;

    第3项设置单元格填充颜色。最后确定

    excel单元格能否根据条件填充颜色

    可以。

    方法:

    1、打开excel表格,用选中需要设置“条件格式”的行或列(可以是多行/多列)。

    2、点击始”--条式--突出显示单元格规则。

    3、如:设置“小于”--“0”设置为--填充为黄色即可,也可以选择其它的颜色或样式。

    怎样可以在excel选定工作表中把单双数行用两种底色快速自动着色?求方法和公式!!!!

    方法就是条式!

    是指

    excel

    表本身吗?也同色?

    使用条件格式:

    =MOD(ROW(A1),2)=0

    设置一色

    =MOD(ROW(A1),2)=1

    设置一种颜色

    先选中你要设置的单元格区域

    然后

    菜单-格式-条件格式

    条件1、条件2

    -公式

    输入

    ……

    matlab怎么给excle表格里面一个值上色

    matlab怎么给excle表格里面一个值上色

    1、Excel函数不能直接多表格着色;

    2、可以通过条件格式,用公式对表格着色。如对成绩小于60的,填充红色

    excel隔行着色(带隐藏属性,就是选中该行才会有颜色)函数

    这个需要VBA才能实现,隔行着色的话:条件格式即可!

    更多相关内容
  • Word中如何设置文字下面的背景颜色?可以采取下面的方法尝试改变背景。....如果那上面的颜色不合你的要求,也可通过单击“其他...如果要删除设置,可执行“格式”→“背景”,然后单击“无填充颜色”。如果要预览或打...

    4c86dd47929c3f7c302846a09b47187b.png

    Word中如何设置文字下面的背景颜色?

    可以采取下面的方法尝试改变背景。

    一、添加彩色背景 点击菜单“格式”→“背景”,在颜色板内直接单击所需颜色。

    .如果那上面的颜色不合你的要求,也可通过单击“其他颜色”选取其他颜色。

    二、添加渐变、纹理或图案 同样操作,单击“填充效果”可以添加渐变色、纹理或图案,调节纹理或图案的颜色。

    如果要删除设置,可执行“格式”→“背景”,然后单击“无填充颜色”。

    如果要预览或打印背景效果,可执行“工具”→“选项”→“打印”选项卡,选中“背景色和图像”复选框。

    三、添加图片水印 同上操作,单击“水印”打开“水印”对话框,就可为文档添加图片水印或文字水印。

    例如加上照片或是名字,就会产生版权页面的效果。

    如果要删除水印,可以通过“水印”对话框中选择“无水印”即可。

    另外,水印是针对打印文档设计的,在WORD的普通视图、Web版式视图、大纲视图和阅读版式中看不到它们。

    添加水印后,转入“页眉页脚”视图,可对水印图片和艺术字的颜色或大小进行调整。

    四、改变文档风格 如果厌倦了WORD默认的白底黑字文档风格,可以从“工具”→“选项”→“常规”选项卡,选择其它文档风格,如“蓝底白字”复选框,换一下风格。

    ...

    word2010设置文档颜色样式为内置精装书样式怎么弄?

    打开一个需要设置新样式的文档,在“样式”选项组中单击下拉按钮,如图所示。

    打开“样式”任务窗格,单击【新建样式】按钮,如图所示。

    打开【根据格式设置创建新样式】对话框,并在“名称”文本框中输入新建样式的名称,单击“样式类型”下拉按钮,从弹出的菜单中选择“段落”选项,如图所示。

    单击“样式基准”下拉按钮,从弹出的菜单中选择“正文”选项,如图所示。

    单击“后续段落样式”下拉按钮,从弹出的菜单中选择“正文”选项,如图所示。

    在“格式”组中设置字体、字号等选项,然后单击【居中】按钮,并选择“添加到快速样式列表”复选框,单击【确定】按钮,即可完成样式的创建操作,如图所示。

    运用同样的方法,即可创建其他样式的格式。

    word2010为标题添加轮廓文本2

    标题段为浅蓝色底纹可以用样式来设置,但是这个相当麻烦,这里另外给你说种方法吧,选中文字,然点击图中红色A左边的倒三角形,也就是蓝色右边的那个,里面可以设置底纹 ,添加项目符是段落工具栏里第一个工具,也就是图中《视图》右下边的那个工具,里面有项目符可以选择的。

    word2010版计算机一级考题给自然段添加“橙色、强调文字颜色6,深...

    在学习过程中我们往往需要记笔记,而Word自带的批注功能是一个非常好的选择。

    但是,多次阅读时不同时间的批注需要使用不同的颜色来区别,下面就是更改批注颜色的小方法,仅适用于Word2007和2010版。

    添加批注后,审阅——修订——修订选项,弹出对话框 修改一下批注颜色即可。

    但是要注意默认情况下,Word会对不同的用户创建的批注使用不同的颜色,应该是随机的吧。

    你不能修改单个批注的颜色,但是可以对整片文档中所有的批注统一修改。

    方法是:在“工具”菜单的“选项”的“修订”面板中,把“批注颜色”改为你喜欢的那种,默认情况下的“按作者”,就是刚才说的,不同用户的批注以不同颜色显示。

    但是注意,可能这只对本机就有效,就是说你换一台机体的话,就要重新设置了。

    此时涉及到如何更改批注人姓名,操作:审阅——修订——更改用户名 改变用户名即可,...

    Word中对如何一块矩形区域设置颜色?如下图

    方法/步骤打开一个要添加底纹的文档,先设置一下页面布局,在菜单里找到,然后找到页面颜色。

    点击后可以选择页面颜色进行设置,设置颜色时,把鼠标放在颜色上面,可以预览一下,这样更便于选择。

    这时页面的颜色发生了变化,可是其中某段还是要突出一下,这怎么改变底纹呢?点击旁边那个页面边框工具,弹出对话框,注意要先选中要改变的文字。

    这里填充选择白色,不要选择无颜色,还要注意应用于段落和文字是不一样的。

    5看一下应用于段落和应用于文字的不同效果,所以使用时要注意区别。

    ...

    展开全文
  • 山东专升本计算机Word知识点总结.doc
  • 山东专升本计算机Word知识点总结试卷教案.doc
  • 整理的一套日常excel,word,ppt实用技巧,涵盖excel基本操作,公式,函数,vba需要注意的易错点,使用技等。后期的ppt,word排版等,值得一看!
  • word 2016 操作界面:由 文件 按钮,快速访问工具栏、标题栏、功能区(选项卡和命令组)、标尺、共享,页面区域、滚动条、状态栏组成; ## 不同版本之间的兼容问题 ### 出现兼容问题的原因 ### 保存不同版本文件...
  • 学习word有帮助,教你怎么快速熟练运用word文档!
  • 如何用WORD制作真实的试卷模板.pdf
  • WORD操作步骤

    2014-12-08 11:48:13
    有关WORD的简单操作,各种快捷键等,适合学习OFFICE的大一学生使用。
  • WORD操作技巧大全.doc

    2020-03-22 19:05:24
    microsoft office作为现在工作中办公必备工具,应用场所非常广泛,本教程旨在介绍工作中常用的WORD模块常用的操作技巧,帮助需要的学员提高该模块的使用效率
  • 在上一篇的叙述中,我们通过图层的方式完成了图片颜色填充(详情请戳:Android 不规则图像填充 小玩着色游戏),不过在着色游戏中更多的还是基于边界的图像的填充。本篇博客将详细描述。 图像的填充有2种经典...


    一、概述

    在上一篇的叙述中,我们通过图层的方式完成了图片颜色的填充(详情请戳:Android 不规则图像填充 小玩着色游戏),不过在着色游戏中更多的还是基于边界的图像的填充。本篇博客将详细描述。

    图像的填充有2种经典算法。

    • 一种是种子填充法。种子填充法理论上能够填充任意区域和图形,但是这种算法存在大量的反复入栈和大规模的递归,降低了填充效率。
    • 另一种是扫描线填充法。

    注意:实际上图像填充的算法还是很多的,有兴趣可以去Google学术上去搜一搜。
    ok,下面先看看今天的效果图:

    ok,可以看到这样的颜色填充比上一篇的基于层的在素材的准备上要easy 很多~~~


    二、原理分析

    首先我们简述下原理,我们在点击的时候拿到点击点的”颜色”,然后按照我们选择的算法进行填色即可。

    算法1:种子填充法,四联通/八联通

    详细介绍,可以参考多边形区域填充算法--递归种子填充算法

    算法简介:假设要将某个区域填充成红色。

    从用户点击点的像素开始,上下左右(八联通还有左上,左下,右上,右下)去判断颜色,如果四个方向上的颜色与当前点击点的像素一致,则改变颜色至目标色。然后继续上述这个过程。

    ok,可以看到这是一个递归的过程,1个点到4个,4个到16个不断的去延伸。如果按照这种算法,你会写出类似这样的代码:

    <code class="language-java hljs  has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;"><span class="hljs-javadoc" style="color: rgb(136, 0, 0); box-sizing: border-box;">/**
         *<span class="hljs-javadoctag" style="color: rgb(102, 0, 102); box-sizing: border-box;"> @param</span> pixels   像素数组
         *<span class="hljs-javadoctag" style="color: rgb(102, 0, 102); box-sizing: border-box;"> @param</span> w        宽度
         *<span class="hljs-javadoctag" style="color: rgb(102, 0, 102); box-sizing: border-box;"> @param</span> h        高度
         *<span class="hljs-javadoctag" style="color: rgb(102, 0, 102); box-sizing: border-box;"> @param</span> pixel    当前点的颜色
         *<span class="hljs-javadoctag" style="color: rgb(102, 0, 102); box-sizing: border-box;"> @param</span> newColor 填充色
         *<span class="hljs-javadoctag" style="color: rgb(102, 0, 102); box-sizing: border-box;"> @param</span> i        横坐标
         *<span class="hljs-javadoctag" style="color: rgb(102, 0, 102); box-sizing: border-box;"> @param</span> j        纵坐标
         */</span>
        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">private</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">void</span> <span class="hljs-title" style="box-sizing: border-box;">fillColor01</span>(<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span>[] pixels, <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span> w, <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span> h, <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span> pixel, <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span> newColor, <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span> i, <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span> j)
        {
            <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span> index = j * w + i;
            <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">if</span> (pixels[index] != pixel || i >= w || i < <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span> || j < <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span> || j >= h)
                <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">return</span>;
            pixels[index] = newColor;
            <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//上</span>
            fillColor01(pixels, w, h, pixel, newColor, i, j - <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1</span>);
            <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//右</span>
            fillColor01(pixels, w, h, pixel, newColor, i + <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1</span>, j);
            <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//下</span>
            fillColor01(pixels, w, h, pixel, newColor, i, j + <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1</span>);
            <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//左</span>
            fillColor01(pixels, w, h, pixel, newColor, i - <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1</span>, j);
        }</code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li><li style="box-sizing: border-box; padding: 0px 5px;">7</li><li style="box-sizing: border-box; padding: 0px 5px;">8</li><li style="box-sizing: border-box; padding: 0px 5px;">9</li><li style="box-sizing: border-box; padding: 0px 5px;">10</li><li style="box-sizing: border-box; padding: 0px 5px;">11</li><li style="box-sizing: border-box; padding: 0px 5px;">12</li><li style="box-sizing: border-box; padding: 0px 5px;">13</li><li style="box-sizing: border-box; padding: 0px 5px;">14</li><li style="box-sizing: border-box; padding: 0px 5px;">15</li><li style="box-sizing: border-box; padding: 0px 5px;">16</li><li style="box-sizing: border-box; padding: 0px 5px;">17</li><li style="box-sizing: border-box; padding: 0px 5px;">18</li><li style="box-sizing: border-box; padding: 0px 5px;">19</li><li style="box-sizing: border-box; padding: 0px 5px;">20</li><li style="box-sizing: border-box; padding: 0px 5px;">21</li><li style="box-sizing: border-box; padding: 0px 5px;">22</li><li style="box-sizing: border-box; padding: 0px 5px;">23</li><li style="box-sizing: border-box; padding: 0px 5px;">24</li></ul>

    代码很简单,但是如果你去运行,会发生StackOverflowException异常,这个异常主要是因为大量的递归造成的。虽然简单,但是在移动设备上使用该方法不行。

    于是,我就想,这个方法不是递归深度过多么,那么我可以使用一个Stack去存像素点,减少递归的深度和次数,于是我把代码改成如下的方式:

    <code class="language-java hljs  has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;"><span class="hljs-javadoc" style="color: rgb(136, 0, 0); box-sizing: border-box;">/**
         *<span class="hljs-javadoctag" style="color: rgb(102, 0, 102); box-sizing: border-box;"> @param</span> pixels   像素数组
         *<span class="hljs-javadoctag" style="color: rgb(102, 0, 102); box-sizing: border-box;"> @param</span> w        宽度
         *<span class="hljs-javadoctag" style="color: rgb(102, 0, 102); box-sizing: border-box;"> @param</span> h        高度
         *<span class="hljs-javadoctag" style="color: rgb(102, 0, 102); box-sizing: border-box;"> @param</span> pixel    当前点的颜色
         *<span class="hljs-javadoctag" style="color: rgb(102, 0, 102); box-sizing: border-box;"> @param</span> newColor 填充色
         *<span class="hljs-javadoctag" style="color: rgb(102, 0, 102); box-sizing: border-box;"> @param</span> i        横坐标
         *<span class="hljs-javadoctag" style="color: rgb(102, 0, 102); box-sizing: border-box;"> @param</span> j        纵坐标
         */</span>
        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">private</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">void</span> <span class="hljs-title" style="box-sizing: border-box;">fillColor</span>(<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span>[] pixels, <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span> w, <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span> h, <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span> pixel, <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span> newColor, <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span> i, <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span> j)
        {
            mStacks.push(<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">new</span> Point(i, j));
    
            <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">while</span> (!mStacks.isEmpty())
            {
                Point seed = mStacks.pop();
                Log.e(<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"TAG"</span>, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"seed = "</span> + seed.x + <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">" , seed = "</span> + seed.y);
    
                <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span> index = seed.y * w + seed.x;
    
                pixels[index] = newColor;
                <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">if</span> (seed.y > <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>)
                {
                    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span> top = index - w;
                    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">if</span> (pixels[top] == pixel)
                    {
    
                        mStacks.push(<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">new</span> Point(seed.x, seed.y - <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1</span>));
                    }
                }
    
                <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">if</span> (seed.y < h - <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1</span>)
                {
                    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span> bottom = index + w;
                    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">if</span> (pixels[bottom] == pixel)
                    {
                        mStacks.push(<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">new</span> Point(seed.x, seed.y + <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1</span>));
                    }
                }
    
                <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">if</span> (seed.x > <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>)
                {
                    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span> left = index - <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1</span>;
                    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">if</span> (pixels[left] == pixel)
                    {
                        mStacks.push(<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">new</span> Point(seed.x - <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1</span>, seed.y));
                    }
                }
    
                <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">if</span> (seed.x < w - <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1</span>)
                {
                    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span> right = index + <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1</span>;
                    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">if</span> (pixels[right] == pixel)
                    {
                        mStacks.push(<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">new</span> Point(seed.x + <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1</span>, seed.y));
                    }
                }
    
            }
    
    
        }
    </code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li><li style="box-sizing: border-box; padding: 0px 5px;">7</li><li style="box-sizing: border-box; padding: 0px 5px;">8</li><li style="box-sizing: border-box; padding: 0px 5px;">9</li><li style="box-sizing: border-box; padding: 0px 5px;">10</li><li style="box-sizing: border-box; padding: 0px 5px;">11</li><li style="box-sizing: border-box; padding: 0px 5px;">12</li><li style="box-sizing: border-box; padding: 0px 5px;">13</li><li style="box-sizing: border-box; padding: 0px 5px;">14</li><li style="box-sizing: border-box; padding: 0px 5px;">15</li><li style="box-sizing: border-box; padding: 0px 5px;">16</li><li style="box-sizing: border-box; padding: 0px 5px;">17</li><li style="box-sizing: border-box; padding: 0px 5px;">18</li><li style="box-sizing: border-box; padding: 0px 5px;">19</li><li style="box-sizing: border-box; padding: 0px 5px;">20</li><li style="box-sizing: border-box; padding: 0px 5px;">21</li><li style="box-sizing: border-box; padding: 0px 5px;">22</li><li style="box-sizing: border-box; padding: 0px 5px;">23</li><li style="box-sizing: border-box; padding: 0px 5px;">24</li><li style="box-sizing: border-box; padding: 0px 5px;">25</li><li style="box-sizing: border-box; padding: 0px 5px;">26</li><li style="box-sizing: border-box; padding: 0px 5px;">27</li><li style="box-sizing: border-box; padding: 0px 5px;">28</li><li style="box-sizing: border-box; padding: 0px 5px;">29</li><li style="box-sizing: border-box; padding: 0px 5px;">30</li><li style="box-sizing: border-box; padding: 0px 5px;">31</li><li style="box-sizing: border-box; padding: 0px 5px;">32</li><li style="box-sizing: border-box; padding: 0px 5px;">33</li><li style="box-sizing: border-box; padding: 0px 5px;">34</li><li style="box-sizing: border-box; padding: 0px 5px;">35</li><li style="box-sizing: border-box; padding: 0px 5px;">36</li><li style="box-sizing: border-box; padding: 0px 5px;">37</li><li style="box-sizing: border-box; padding: 0px 5px;">38</li><li style="box-sizing: border-box; padding: 0px 5px;">39</li><li style="box-sizing: border-box; padding: 0px 5px;">40</li><li style="box-sizing: border-box; padding: 0px 5px;">41</li><li style="box-sizing: border-box; padding: 0px 5px;">42</li><li style="box-sizing: border-box; padding: 0px 5px;">43</li><li style="box-sizing: border-box; padding: 0px 5px;">44</li><li style="box-sizing: border-box; padding: 0px 5px;">45</li><li style="box-sizing: border-box; padding: 0px 5px;">46</li><li style="box-sizing: border-box; padding: 0px 5px;">47</li><li style="box-sizing: border-box; padding: 0px 5px;">48</li><li style="box-sizing: border-box; padding: 0px 5px;">49</li><li style="box-sizing: border-box; padding: 0px 5px;">50</li><li style="box-sizing: border-box; padding: 0px 5px;">51</li><li style="box-sizing: border-box; padding: 0px 5px;">52</li><li style="box-sizing: border-box; padding: 0px 5px;">53</li><li style="box-sizing: border-box; padding: 0px 5px;">54</li><li style="box-sizing: border-box; padding: 0px 5px;">55</li><li style="box-sizing: border-box; padding: 0px 5px;">56</li><li style="box-sizing: border-box; padding: 0px 5px;">57</li><li style="box-sizing: border-box; padding: 0px 5px;">58</li><li style="box-sizing: border-box; padding: 0px 5px;">59</li><li style="box-sizing: border-box; padding: 0px 5px;">60</li><li style="box-sizing: border-box; padding: 0px 5px;">61</li><li style="box-sizing: border-box; padding: 0px 5px;">62</li><li style="box-sizing: border-box; padding: 0px 5px;">63</li></ul>

    方法的思想也比较简单,将当前像素点入栈,然后出栈着色,接下来分别判断四个方向的,如果符合条件也进行入栈(只要栈不为空持续运行)。ok,这个方法我也尝试跑了下,恩,这次不会报错了,但是速度特别的慢~~~~慢得我是不可接受的。(有兴趣可以尝试,记得如果ANR,点击等待)。

    这样来看,第一种算法,我们是不考虑了,没有办法使用,主要原因是假设对于矩形同色区域,都是需要填充的,而算法一依然是各种入栈。于是考虑第二种算法

    扫描线填充法

    详细可参考 扫描线种子填充算法的解析扫描线种子填充算法

    算法思想[4]:

    1. 初始化一个空的栈用于存放种子点,将种子点(x, y)入栈;
    2. 判断栈是否为空,如果栈为空则结束算法,否则取出栈顶元素作为当前扫描线的种子点(x, y),y是当前的扫描线;
    3. 从种子点(x, y)出发,沿当前扫描线向左、右两个方向填充,直到边界。分别标记区段的左、右端点坐标为xLeft和xRight;
    4. 分别检查与当前扫描线相邻的y - 1和y + 1两条扫描线在区间[xLeft, xRight]中的像素,从xRight开始向xLeft方向搜索,假设扫描的区间为AAABAAC(A为种子点颜色),那么将B和C前面的A作为种子点压入栈中,然后返回第(2)步;

    上述参考自参考文献[4],做了些修改,文章[4]中描述算法,测试有一点问题,所以做了修改.

    可以看到该算法,基本上是一行一行着色的,这样的话在大块需要着色区域的效率比算法一要高很多。

    ok,关于算法的步骤大家目前觉得模糊,一会可以参照我们的代码。选定了算法以后,接下来就开始编码了。


    三、编码实现

    我们代码中引入了一个边界颜色,如果设置的话,着色的边界参考为该边界颜色,否则会只要与种子颜色不一致为边界。

    (一)构造方法与测量

    <code class="language-java hljs  has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;"><span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">public</span> <span class="hljs-class" style="box-sizing: border-box;"><span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">class</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">ColourImageView</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">extends</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">ImageView</span>
    {</span>
    
        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">private</span> Bitmap mBitmap;
        <span class="hljs-javadoc" style="color: rgb(136, 0, 0); box-sizing: border-box;">/**
         * 边界的颜色
         */</span>
        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">private</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span> mBorderColor = -<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1</span>;
    
        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">private</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">boolean</span> hasBorderColor = <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">false</span>;
    
        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">private</span> Stack<Point> mStacks = <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">new</span> Stack<Point>();
    
        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">public</span> <span class="hljs-title" style="box-sizing: border-box;">ColourImageView</span>(Context context, AttributeSet attrs)
        {
            <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">super</span>(context, attrs);
    
            TypedArray ta = context.obtainStyledAttributes(attrs, R.styleable.ColourImageView);
            mBorderColor = ta.getColor(R.styleable.ColourImageView_border_color, -<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1</span>);
            hasBorderColor = (mBorderColor != -<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1</span>);
    
            L.e(<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"hasBorderColor = "</span> + hasBorderColor + <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">" , mBorderColor = "</span> + mBorderColor);
    
            ta.recycle();
    
        }
    
        <span class="hljs-annotation" style="color: rgb(155, 133, 157); box-sizing: border-box;">@Override</span>
        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">protected</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">void</span> <span class="hljs-title" style="box-sizing: border-box;">onMeasure</span>(<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span> widthMeasureSpec, <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span> heightMeasureSpec)
        {
            <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">super</span>.onMeasure(widthMeasureSpec, heightMeasureSpec);
    
            <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span> viewWidth = getMeasuredWidth();
            <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span> viewHeight = getMeasuredHeight();
    
            <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//以宽度为标准,等比例缩放view的高度</span>
            setMeasuredDimension(viewWidth,
                    getDrawable().getIntrinsicHeight() * viewWidth / getDrawable().getIntrinsicWidth());
            L.e(<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"view's width = "</span> + getMeasuredWidth() + <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">" , view's height = "</span> + getMeasuredHeight());
    
            <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//根据drawable,去得到一个和view一样大小的bitmap</span>
            BitmapDrawable drawable = (BitmapDrawable) getDrawable();
            Bitmap bm = drawable.getBitmap();
            mBitmap = Bitmap.createScaledBitmap(bm, getMeasuredWidth(), getMeasuredHeight(), <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">false</span>);
        }</code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li><li style="box-sizing: border-box; padding: 0px 5px;">7</li><li style="box-sizing: border-box; padding: 0px 5px;">8</li><li style="box-sizing: border-box; padding: 0px 5px;">9</li><li style="box-sizing: border-box; padding: 0px 5px;">10</li><li style="box-sizing: border-box; padding: 0px 5px;">11</li><li style="box-sizing: border-box; padding: 0px 5px;">12</li><li style="box-sizing: border-box; padding: 0px 5px;">13</li><li style="box-sizing: border-box; padding: 0px 5px;">14</li><li style="box-sizing: border-box; padding: 0px 5px;">15</li><li style="box-sizing: border-box; padding: 0px 5px;">16</li><li style="box-sizing: border-box; padding: 0px 5px;">17</li><li style="box-sizing: border-box; padding: 0px 5px;">18</li><li style="box-sizing: border-box; padding: 0px 5px;">19</li><li style="box-sizing: border-box; padding: 0px 5px;">20</li><li style="box-sizing: border-box; padding: 0px 5px;">21</li><li style="box-sizing: border-box; padding: 0px 5px;">22</li><li style="box-sizing: border-box; padding: 0px 5px;">23</li><li style="box-sizing: border-box; padding: 0px 5px;">24</li><li style="box-sizing: border-box; padding: 0px 5px;">25</li><li style="box-sizing: border-box; padding: 0px 5px;">26</li><li style="box-sizing: border-box; padding: 0px 5px;">27</li><li style="box-sizing: border-box; padding: 0px 5px;">28</li><li style="box-sizing: border-box; padding: 0px 5px;">29</li><li style="box-sizing: border-box; padding: 0px 5px;">30</li><li style="box-sizing: border-box; padding: 0px 5px;">31</li><li style="box-sizing: border-box; padding: 0px 5px;">32</li><li style="box-sizing: border-box; padding: 0px 5px;">33</li><li style="box-sizing: border-box; padding: 0px 5px;">34</li><li style="box-sizing: border-box; padding: 0px 5px;">35</li><li style="box-sizing: border-box; padding: 0px 5px;">36</li><li style="box-sizing: border-box; padding: 0px 5px;">37</li><li style="box-sizing: border-box; padding: 0px 5px;">38</li><li style="box-sizing: border-box; padding: 0px 5px;">39</li><li style="box-sizing: border-box; padding: 0px 5px;">40</li><li style="box-sizing: border-box; padding: 0px 5px;">41</li><li style="box-sizing: border-box; padding: 0px 5px;">42</li><li style="box-sizing: border-box; padding: 0px 5px;">43</li><li style="box-sizing: border-box; padding: 0px 5px;">44</li><li style="box-sizing: border-box; padding: 0px 5px;">45</li></ul>

    可以看到我们选择的是继承ImageView,这样只需要将图片设为src即可。 
    构造方法中获取我们的自定义边界颜色,当然可以不设置~~ 
    重写测量的目的是为了获取一个和View一样大小的Bitmap便于我们操作。

    接下来就是点击啦~

    (二)onTouchEvent

    <code class="language-java hljs  has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;"><span class="hljs-annotation" style="color: rgb(155, 133, 157); box-sizing: border-box;">@Override</span>
        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">public</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">boolean</span> <span class="hljs-title" style="box-sizing: border-box;">onTouchEvent</span>(MotionEvent event)
        {
            <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">final</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span> x = (<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span>) event.getX();
            <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">final</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span> y = (<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span>) event.getY();
            <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">if</span> (event.getAction() == MotionEvent.ACTION_DOWN)
            {
                <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//填色</span>
                fillColorToSameArea(x, y);
            }
    
            <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">return</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">super</span>.onTouchEvent(event);
        }
    
        <span class="hljs-javadoc" style="color: rgb(136, 0, 0); box-sizing: border-box;">/**
         * 根据x,y获得改点颜色,进行填充
         *
         *<span class="hljs-javadoctag" style="color: rgb(102, 0, 102); box-sizing: border-box;"> @param</span> x
         *<span class="hljs-javadoctag" style="color: rgb(102, 0, 102); box-sizing: border-box;"> @param</span> y
         */</span>
        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">private</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">void</span> <span class="hljs-title" style="box-sizing: border-box;">fillColorToSameArea</span>(<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span> x, <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span> y)
        {
            Bitmap bm = mBitmap;
    
            <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span> pixel = bm.getPixel(x, y);
            <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">if</span> (pixel == Color.TRANSPARENT || (hasBorderColor && mBorderColor == pixel))
            {
                <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">return</span>;
            }
            <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span> newColor = randomColor();
    
            <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span> w = bm.getWidth();
            <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span> h = bm.getHeight();
            <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//拿到该bitmap的颜色数组</span>
            <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span>[] pixels = <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">new</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span>[w * h];
            bm.getPixels(pixels, <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>, w, <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>, <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>, w, h);
            <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//填色</span>
            fillColor(pixels, w, h, pixel, newColor, x, y);
            <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//重新设置bitmap</span>
            bm.setPixels(pixels, <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>, w, <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>, <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>, w, h);
            setImageDrawable(<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">new</span> BitmapDrawable(bm));
    
        }
    </code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li><li style="box-sizing: border-box; padding: 0px 5px;">7</li><li style="box-sizing: border-box; padding: 0px 5px;">8</li><li style="box-sizing: border-box; padding: 0px 5px;">9</li><li style="box-sizing: border-box; padding: 0px 5px;">10</li><li style="box-sizing: border-box; padding: 0px 5px;">11</li><li style="box-sizing: border-box; padding: 0px 5px;">12</li><li style="box-sizing: border-box; padding: 0px 5px;">13</li><li style="box-sizing: border-box; padding: 0px 5px;">14</li><li style="box-sizing: border-box; padding: 0px 5px;">15</li><li style="box-sizing: border-box; padding: 0px 5px;">16</li><li style="box-sizing: border-box; padding: 0px 5px;">17</li><li style="box-sizing: border-box; padding: 0px 5px;">18</li><li style="box-sizing: border-box; padding: 0px 5px;">19</li><li style="box-sizing: border-box; padding: 0px 5px;">20</li><li style="box-sizing: border-box; padding: 0px 5px;">21</li><li style="box-sizing: border-box; padding: 0px 5px;">22</li><li style="box-sizing: border-box; padding: 0px 5px;">23</li><li style="box-sizing: border-box; padding: 0px 5px;">24</li><li style="box-sizing: border-box; padding: 0px 5px;">25</li><li style="box-sizing: border-box; padding: 0px 5px;">26</li><li style="box-sizing: border-box; padding: 0px 5px;">27</li><li style="box-sizing: border-box; padding: 0px 5px;">28</li><li style="box-sizing: border-box; padding: 0px 5px;">29</li><li style="box-sizing: border-box; padding: 0px 5px;">30</li><li style="box-sizing: border-box; padding: 0px 5px;">31</li><li style="box-sizing: border-box; padding: 0px 5px;">32</li><li style="box-sizing: border-box; padding: 0px 5px;">33</li><li style="box-sizing: border-box; padding: 0px 5px;">34</li><li style="box-sizing: border-box; padding: 0px 5px;">35</li><li style="box-sizing: border-box; padding: 0px 5px;">36</li><li style="box-sizing: border-box; padding: 0px 5px;">37</li><li style="box-sizing: border-box; padding: 0px 5px;">38</li><li style="box-sizing: border-box; padding: 0px 5px;">39</li><li style="box-sizing: border-box; padding: 0px 5px;">40</li><li style="box-sizing: border-box; padding: 0px 5px;">41</li><li style="box-sizing: border-box; padding: 0px 5px;">42</li><li style="box-sizing: border-box; padding: 0px 5px;">43</li><li style="box-sizing: border-box; padding: 0px 5px;">44</li></ul>

    可以看到,我们在onTouchEvent中获取(x,y),然后拿到改点坐标:

    • 获得点击点颜色,获得整个bitmap的像素数组
    • 改变这个数组中的颜色
    • 然后重新设置给bitmap,重新设置给ImageView

    重点就是通过fillColor去改变数组中的颜色

    <code class="language-java hljs  has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;">
    <span class="hljs-javadoc" style="color: rgb(136, 0, 0); box-sizing: border-box;">/**
         *<span class="hljs-javadoctag" style="color: rgb(102, 0, 102); box-sizing: border-box;"> @param</span> pixels   像素数组
         *<span class="hljs-javadoctag" style="color: rgb(102, 0, 102); box-sizing: border-box;"> @param</span> w        宽度
         *<span class="hljs-javadoctag" style="color: rgb(102, 0, 102); box-sizing: border-box;"> @param</span> h        高度
         *<span class="hljs-javadoctag" style="color: rgb(102, 0, 102); box-sizing: border-box;"> @param</span> pixel    当前点的颜色
         *<span class="hljs-javadoctag" style="color: rgb(102, 0, 102); box-sizing: border-box;"> @param</span> newColor 填充色
         *<span class="hljs-javadoctag" style="color: rgb(102, 0, 102); box-sizing: border-box;"> @param</span> i        横坐标
         *<span class="hljs-javadoctag" style="color: rgb(102, 0, 102); box-sizing: border-box;"> @param</span> j        纵坐标
         */</span>
        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">private</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">void</span> <span class="hljs-title" style="box-sizing: border-box;">fillColor</span>(<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span>[] pixels, <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span> w, <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span> h, <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span> pixel, <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span> newColor, <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span> i, <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span> j)
        {
            <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//步骤1:将种子点(x, y)入栈;</span>
            mStacks.push(<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">new</span> Point(i, j));
    
            <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//步骤2:判断栈是否为空,</span>
            <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">// 如果栈为空则结束算法,否则取出栈顶元素作为当前扫描线的种子点(x, y),</span>
            <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">// y是当前的扫描线;</span>
            <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">while</span> (!mStacks.isEmpty())
            {
    
    
                <span class="hljs-javadoc" style="color: rgb(136, 0, 0); box-sizing: border-box;">/**
                 * 步骤3:从种子点(x, y)出发,沿当前扫描线向左、右两个方向填充,
                 * 直到边界。分别标记区段的左、右端点坐标为xLeft和xRight;
                 */</span>
                Point seed = mStacks.pop();
                <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//L.e("seed = " + seed.x + " , seed = " + seed.y);</span>
                <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span> count = fillLineLeft(pixels, pixel, w, h, newColor, seed.x, seed.y);
                <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span> left = seed.x - count + <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1</span>;
                count = fillLineRight(pixels, pixel, w, h, newColor, seed.x + <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1</span>, seed.y);
                <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span> right = seed.x + count;
    
    
                <span class="hljs-javadoc" style="color: rgb(136, 0, 0); box-sizing: border-box;">/**
                 * 步骤4:
                 * 分别检查与当前扫描线相邻的y - 1和y + 1两条扫描线在区间[xLeft, xRight]中的像素,
                 * 从xRight开始向xLeft方向搜索,假设扫描的区间为AAABAAC(A为种子点颜色),
                 * 那么将B和C前面的A作为种子点压入栈中,然后返回第(2)步;
                 */</span>
                <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//从y-1找种子</span>
                <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">if</span> (seed.y - <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1</span> >= <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>)
                    findSeedInNewLine(pixels, pixel, w, h, seed.y - <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1</span>, left, right);
                <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//从y+1找种子</span>
                <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">if</span> (seed.y + <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1</span> < h)
                    findSeedInNewLine(pixels, pixel, w, h, seed.y + <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1</span>, left, right);
            }
    
    
        }
    
    </code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li><li style="box-sizing: border-box; padding: 0px 5px;">7</li><li style="box-sizing: border-box; padding: 0px 5px;">8</li><li style="box-sizing: border-box; padding: 0px 5px;">9</li><li style="box-sizing: border-box; padding: 0px 5px;">10</li><li style="box-sizing: border-box; padding: 0px 5px;">11</li><li style="box-sizing: border-box; padding: 0px 5px;">12</li><li style="box-sizing: border-box; padding: 0px 5px;">13</li><li style="box-sizing: border-box; padding: 0px 5px;">14</li><li style="box-sizing: border-box; padding: 0px 5px;">15</li><li style="box-sizing: border-box; padding: 0px 5px;">16</li><li style="box-sizing: border-box; padding: 0px 5px;">17</li><li style="box-sizing: border-box; padding: 0px 5px;">18</li><li style="box-sizing: border-box; padding: 0px 5px;">19</li><li style="box-sizing: border-box; padding: 0px 5px;">20</li><li style="box-sizing: border-box; padding: 0px 5px;">21</li><li style="box-sizing: border-box; padding: 0px 5px;">22</li><li style="box-sizing: border-box; padding: 0px 5px;">23</li><li style="box-sizing: border-box; padding: 0px 5px;">24</li><li style="box-sizing: border-box; padding: 0px 5px;">25</li><li style="box-sizing: border-box; padding: 0px 5px;">26</li><li style="box-sizing: border-box; padding: 0px 5px;">27</li><li style="box-sizing: border-box; padding: 0px 5px;">28</li><li style="box-sizing: border-box; padding: 0px 5px;">29</li><li style="box-sizing: border-box; padding: 0px 5px;">30</li><li style="box-sizing: border-box; padding: 0px 5px;">31</li><li style="box-sizing: border-box; padding: 0px 5px;">32</li><li style="box-sizing: border-box; padding: 0px 5px;">33</li><li style="box-sizing: border-box; padding: 0px 5px;">34</li><li style="box-sizing: border-box; padding: 0px 5px;">35</li><li style="box-sizing: border-box; padding: 0px 5px;">36</li><li style="box-sizing: border-box; padding: 0px 5px;">37</li><li style="box-sizing: border-box; padding: 0px 5px;">38</li><li style="box-sizing: border-box; padding: 0px 5px;">39</li><li style="box-sizing: border-box; padding: 0px 5px;">40</li><li style="box-sizing: border-box; padding: 0px 5px;">41</li><li style="box-sizing: border-box; padding: 0px 5px;">42</li><li style="box-sizing: border-box; padding: 0px 5px;">43</li><li style="box-sizing: border-box; padding: 0px 5px;">44</li><li style="box-sizing: border-box; padding: 0px 5px;">45</li><li style="box-sizing: border-box; padding: 0px 5px;">46</li><li style="box-sizing: border-box; padding: 0px 5px;">47</li><li style="box-sizing: border-box; padding: 0px 5px;">48</li><li style="box-sizing: border-box; padding: 0px 5px;">49</li><li style="box-sizing: border-box; padding: 0px 5px;">50</li><li style="box-sizing: border-box; padding: 0px 5px;">51</li><li style="box-sizing: border-box; padding: 0px 5px;">52</li></ul>

    可以看到我已经很清楚的将该算法的四个步骤标识到该方法中。好了,最后就是一些依赖的细节上的方法:

    <code class="language-java hljs  has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;"> <span class="hljs-javadoc" style="color: rgb(136, 0, 0); box-sizing: border-box;">/**
         * 在新行找种子节点
         *
         *<span class="hljs-javadoctag" style="color: rgb(102, 0, 102); box-sizing: border-box;"> @param</span> pixels
         *<span class="hljs-javadoctag" style="color: rgb(102, 0, 102); box-sizing: border-box;"> @param</span> pixel
         *<span class="hljs-javadoctag" style="color: rgb(102, 0, 102); box-sizing: border-box;"> @param</span> w
         *<span class="hljs-javadoctag" style="color: rgb(102, 0, 102); box-sizing: border-box;"> @param</span> h
         *<span class="hljs-javadoctag" style="color: rgb(102, 0, 102); box-sizing: border-box;"> @param</span> i
         *<span class="hljs-javadoctag" style="color: rgb(102, 0, 102); box-sizing: border-box;"> @param</span> left
         *<span class="hljs-javadoctag" style="color: rgb(102, 0, 102); box-sizing: border-box;"> @param</span> right
         */</span>
        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">private</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">void</span> <span class="hljs-title" style="box-sizing: border-box;">findSeedInNewLine</span>(<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span>[] pixels, <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span> pixel, <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span> w, <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span> h, <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span> i, <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span> left, <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span> right)
        {
            <span class="hljs-javadoc" style="color: rgb(136, 0, 0); box-sizing: border-box;">/**
             * 获得该行的开始索引
             */</span>
            <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span> begin = i * w + left;
            <span class="hljs-javadoc" style="color: rgb(136, 0, 0); box-sizing: border-box;">/**
             * 获得该行的结束索引
             */</span>
            <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span> end = i * w + right;
    
            <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">boolean</span> hasSeed = <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">false</span>;
    
            <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span> rx = -<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1</span>, ry = -<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1</span>;
    
            ry = i;
    
            <span class="hljs-javadoc" style="color: rgb(136, 0, 0); box-sizing: border-box;">/**
             * 从end到begin,找到种子节点入栈(AAABAAAB,则B前的A为种子节点)
             */</span>
            <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">while</span> (end >= begin)
            {
                <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">if</span> (pixels[end] == pixel)
                {
                    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">if</span> (!hasSeed)
                    {
                        rx = end % w;
                        mStacks.push(<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">new</span> Point(rx, ry));
                        hasSeed = <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">true</span>;
                    }
                } <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">else</span>
                {
                    hasSeed = <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">false</span>;
                }
                end--;
            }
        }
    
        <span class="hljs-javadoc" style="color: rgb(136, 0, 0); box-sizing: border-box;">/**
         * 往右填色,返回填充的个数
         *
         *<span class="hljs-javadoctag" style="color: rgb(102, 0, 102); box-sizing: border-box;"> @return</span>
         */</span>
        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">private</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span> <span class="hljs-title" style="box-sizing: border-box;">fillLineRight</span>(<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span>[] pixels, <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span> pixel, <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span> w, <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span> h, <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span> newColor, <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span> x, <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span> y)
        {
            <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span> count = <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>;
    
            <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">while</span> (x < w)
            {
                <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//拿到索引</span>
                <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span> index = y * w + x;
                <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">if</span> (needFillPixel(pixels, pixel, index))
                {
                    pixels[index] = newColor;
                    count++;
                    x++;
                } <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">else</span>
                {
                    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">break</span>;
                }
    
            }
    
            <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">return</span> count;
        }
    
    
        <span class="hljs-javadoc" style="color: rgb(136, 0, 0); box-sizing: border-box;">/**
         * 往左填色,返回填色的数量值
         *
         *<span class="hljs-javadoctag" style="color: rgb(102, 0, 102); box-sizing: border-box;"> @return</span>
         */</span>
        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">private</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span> <span class="hljs-title" style="box-sizing: border-box;">fillLineLeft</span>(<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span>[] pixels, <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span> pixel, <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span> w, <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span> h, <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span> newColor, <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span> x, <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span> y)
        {
            <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span> count = <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>;
            <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">while</span> (x >= <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>)
            {
                <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//计算出索引</span>
                <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span> index = y * w + x;
    
                <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">if</span> (needFillPixel(pixels, pixel, index))
                {
                    pixels[index] = newColor;
                    count++;
                    x--;
                } <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">else</span>
                {
                    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">break</span>;
                }
    
            }
            <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">return</span> count;
        }
    
        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">private</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">boolean</span> <span class="hljs-title" style="box-sizing: border-box;">needFillPixel</span>(<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span>[] pixels, <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span> pixel, <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span> index)
        {
            <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">if</span> (hasBorderColor)
            {
                <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">return</span> pixels[index] != mBorderColor;
            } <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">else</span>
            {
                <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">return</span> pixels[index] == pixel;
            }
        }
    
        <span class="hljs-javadoc" style="color: rgb(136, 0, 0); box-sizing: border-box;">/**
         * 返回一个随机颜色
         *
         *<span class="hljs-javadoctag" style="color: rgb(102, 0, 102); box-sizing: border-box;"> @return</span>
         */</span>
        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">private</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span> <span class="hljs-title" style="box-sizing: border-box;">randomColor</span>()
        {
            Random random = <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">new</span> Random();
            <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span> color = Color.argb(<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">255</span>, random.nextInt(<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">256</span>), random.nextInt(<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">256</span>), random.nextInt(<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">256</span>));
            <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">return</span> color;
        }</code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li><li style="box-sizing: border-box; padding: 0px 5px;">7</li><li style="box-sizing: border-box; padding: 0px 5px;">8</li><li style="box-sizing: border-box; padding: 0px 5px;">9</li><li style="box-sizing: border-box; padding: 0px 5px;">10</li><li style="box-sizing: border-box; padding: 0px 5px;">11</li><li style="box-sizing: border-box; padding: 0px 5px;">12</li><li style="box-sizing: border-box; padding: 0px 5px;">13</li><li style="box-sizing: border-box; padding: 0px 5px;">14</li><li style="box-sizing: border-box; padding: 0px 5px;">15</li><li style="box-sizing: border-box; padding: 0px 5px;">16</li><li style="box-sizing: border-box; padding: 0px 5px;">17</li><li style="box-sizing: border-box; padding: 0px 5px;">18</li><li style="box-sizing: border-box; padding: 0px 5px;">19</li><li style="box-sizing: border-box; padding: 0px 5px;">20</li><li style="box-sizing: border-box; padding: 0px 5px;">21</li><li style="box-sizing: border-box; padding: 0px 5px;">22</li><li style="box-sizing: border-box; padding: 0px 5px;">23</li><li style="box-sizing: border-box; padding: 0px 5px;">24</li><li style="box-sizing: border-box; padding: 0px 5px;">25</li><li style="box-sizing: border-box; padding: 0px 5px;">26</li><li style="box-sizing: border-box; padding: 0px 5px;">27</li><li style="box-sizing: border-box; padding: 0px 5px;">28</li><li style="box-sizing: border-box; padding: 0px 5px;">29</li><li style="box-sizing: border-box; padding: 0px 5px;">30</li><li style="box-sizing: border-box; padding: 0px 5px;">31</li><li style="box-sizing: border-box; padding: 0px 5px;">32</li><li style="box-sizing: border-box; padding: 0px 5px;">33</li><li style="box-sizing: border-box; padding: 0px 5px;">34</li><li style="box-sizing: border-box; padding: 0px 5px;">35</li><li style="box-sizing: border-box; padding: 0px 5px;">36</li><li style="box-sizing: border-box; padding: 0px 5px;">37</li><li style="box-sizing: border-box; padding: 0px 5px;">38</li><li style="box-sizing: border-box; padding: 0px 5px;">39</li><li style="box-sizing: border-box; padding: 0px 5px;">40</li><li style="box-sizing: border-box; padding: 0px 5px;">41</li><li style="box-sizing: border-box; padding: 0px 5px;">42</li><li style="box-sizing: border-box; padding: 0px 5px;">43</li><li style="box-sizing: border-box; padding: 0px 5px;">44</li><li style="box-sizing: border-box; padding: 0px 5px;">45</li><li style="box-sizing: border-box; padding: 0px 5px;">46</li><li style="box-sizing: border-box; padding: 0px 5px;">47</li><li style="box-sizing: border-box; padding: 0px 5px;">48</li><li style="box-sizing: border-box; padding: 0px 5px;">49</li><li style="box-sizing: border-box; padding: 0px 5px;">50</li><li style="box-sizing: border-box; padding: 0px 5px;">51</li><li style="box-sizing: border-box; padding: 0px 5px;">52</li><li style="box-sizing: border-box; padding: 0px 5px;">53</li><li style="box-sizing: border-box; padding: 0px 5px;">54</li><li style="box-sizing: border-box; padding: 0px 5px;">55</li><li style="box-sizing: border-box; padding: 0px 5px;">56</li><li style="box-sizing: border-box; padding: 0px 5px;">57</li><li style="box-sizing: border-box; padding: 0px 5px;">58</li><li style="box-sizing: border-box; padding: 0px 5px;">59</li><li style="box-sizing: border-box; padding: 0px 5px;">60</li><li style="box-sizing: border-box; padding: 0px 5px;">61</li><li style="box-sizing: border-box; padding: 0px 5px;">62</li><li style="box-sizing: border-box; padding: 0px 5px;">63</li><li style="box-sizing: border-box; padding: 0px 5px;">64</li><li style="box-sizing: border-box; padding: 0px 5px;">65</li><li style="box-sizing: border-box; padding: 0px 5px;">66</li><li style="box-sizing: border-box; padding: 0px 5px;">67</li><li style="box-sizing: border-box; padding: 0px 5px;">68</li><li style="box-sizing: border-box; padding: 0px 5px;">69</li><li style="box-sizing: border-box; padding: 0px 5px;">70</li><li style="box-sizing: border-box; padding: 0px 5px;">71</li><li style="box-sizing: border-box; padding: 0px 5px;">72</li><li style="box-sizing: border-box; padding: 0px 5px;">73</li><li style="box-sizing: border-box; padding: 0px 5px;">74</li><li style="box-sizing: border-box; padding: 0px 5px;">75</li><li style="box-sizing: border-box; padding: 0px 5px;">76</li><li style="box-sizing: border-box; padding: 0px 5px;">77</li><li style="box-sizing: border-box; padding: 0px 5px;">78</li><li style="box-sizing: border-box; padding: 0px 5px;">79</li><li style="box-sizing: border-box; padding: 0px 5px;">80</li><li style="box-sizing: border-box; padding: 0px 5px;">81</li><li style="box-sizing: border-box; padding: 0px 5px;">82</li><li style="box-sizing: border-box; padding: 0px 5px;">83</li><li style="box-sizing: border-box; padding: 0px 5px;">84</li><li style="box-sizing: border-box; padding: 0px 5px;">85</li><li style="box-sizing: border-box; padding: 0px 5px;">86</li><li style="box-sizing: border-box; padding: 0px 5px;">87</li><li style="box-sizing: border-box; padding: 0px 5px;">88</li><li style="box-sizing: border-box; padding: 0px 5px;">89</li><li style="box-sizing: border-box; padding: 0px 5px;">90</li><li style="box-sizing: border-box; padding: 0px 5px;">91</li><li style="box-sizing: border-box; padding: 0px 5px;">92</li><li style="box-sizing: border-box; padding: 0px 5px;">93</li><li style="box-sizing: border-box; padding: 0px 5px;">94</li><li style="box-sizing: border-box; padding: 0px 5px;">95</li><li style="box-sizing: border-box; padding: 0px 5px;">96</li><li style="box-sizing: border-box; padding: 0px 5px;">97</li><li style="box-sizing: border-box; padding: 0px 5px;">98</li><li style="box-sizing: border-box; padding: 0px 5px;">99</li><li style="box-sizing: border-box; padding: 0px 5px;">100</li><li style="box-sizing: border-box; padding: 0px 5px;">101</li><li style="box-sizing: border-box; padding: 0px 5px;">102</li><li style="box-sizing: border-box; padding: 0px 5px;">103</li><li style="box-sizing: border-box; padding: 0px 5px;">104</li><li style="box-sizing: border-box; padding: 0px 5px;">105</li><li style="box-sizing: border-box; padding: 0px 5px;">106</li><li style="box-sizing: border-box; padding: 0px 5px;">107</li><li style="box-sizing: border-box; padding: 0px 5px;">108</li><li style="box-sizing: border-box; padding: 0px 5px;">109</li><li style="box-sizing: border-box; padding: 0px 5px;">110</li><li style="box-sizing: border-box; padding: 0px 5px;">111</li><li style="box-sizing: border-box; padding: 0px 5px;">112</li><li style="box-sizing: border-box; padding: 0px 5px;">113</li><li style="box-sizing: border-box; padding: 0px 5px;">114</li><li style="box-sizing: border-box; padding: 0px 5px;">115</li><li style="box-sizing: border-box; padding: 0px 5px;">116</li><li style="box-sizing: border-box; padding: 0px 5px;">117</li><li style="box-sizing: border-box; padding: 0px 5px;">118</li><li style="box-sizing: border-box; padding: 0px 5px;">119</li><li style="box-sizing: border-box; padding: 0px 5px;">120</li><li style="box-sizing: border-box; padding: 0px 5px;">121</li><li style="box-sizing: border-box; padding: 0px 5px;">122</li><li style="box-sizing: border-box; padding: 0px 5px;">123</li><li style="box-sizing: border-box; padding: 0px 5px;">124</li><li style="box-sizing: border-box; padding: 0px 5px;">125</li><li style="box-sizing: border-box; padding: 0px 5px;">126</li><li style="box-sizing: border-box; padding: 0px 5px;">127</li></ul>

    ok,到此,代码就介绍完毕了~~~

    最后贴下布局文件~~

    <code class="language-xml hljs  has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;"><span class="hljs-tag" style="color: rgb(0, 102, 102); box-sizing: border-box;"><<span class="hljs-title" style="box-sizing: border-box; color: rgb(0, 0, 136);">RelativeLayout</span> <span class="hljs-attribute" style="box-sizing: border-box; color: rgb(102, 0, 102);">xmlns:android</span>=<span class="hljs-value" style="box-sizing: border-box; color: rgb(0, 136, 0);">"http://schemas.android.com/apk/res/android"</span>
                    <span class="hljs-attribute" style="box-sizing: border-box; color: rgb(102, 0, 102);">xmlns:tools</span>=<span class="hljs-value" style="box-sizing: border-box; color: rgb(0, 136, 0);">"http://schemas.android.com/tools"</span>
                    <span class="hljs-attribute" style="box-sizing: border-box; color: rgb(102, 0, 102);">xmlns:zhy</span>=<span class="hljs-value" style="box-sizing: border-box; color: rgb(0, 136, 0);">"http://schemas.android.com/apk/res-auto"</span>
                    <span class="hljs-attribute" style="box-sizing: border-box; color: rgb(102, 0, 102);">android:layout_width</span>=<span class="hljs-value" style="box-sizing: border-box; color: rgb(0, 136, 0);">"match_parent"</span>
                    <span class="hljs-attribute" style="box-sizing: border-box; color: rgb(102, 0, 102);">android:layout_height</span>=<span class="hljs-value" style="box-sizing: border-box; color: rgb(0, 136, 0);">"match_parent"</span>
                    <span class="hljs-attribute" style="box-sizing: border-box; color: rgb(102, 0, 102);">android:paddingLeft</span>=<span class="hljs-value" style="box-sizing: border-box; color: rgb(0, 136, 0);">"@dimen/activity_horizontal_margin"</span>
                    <span class="hljs-attribute" style="box-sizing: border-box; color: rgb(102, 0, 102);">android:paddingRight</span>=<span class="hljs-value" style="box-sizing: border-box; color: rgb(0, 136, 0);">"@dimen/activity_horizontal_margin"</span>
                    <span class="hljs-attribute" style="box-sizing: border-box; color: rgb(102, 0, 102);">android:paddingTop</span>=<span class="hljs-value" style="box-sizing: border-box; color: rgb(0, 136, 0);">"@dimen/activity_vertical_margin"</span>
                    <span class="hljs-attribute" style="box-sizing: border-box; color: rgb(102, 0, 102);">android:paddingBottom</span>=<span class="hljs-value" style="box-sizing: border-box; color: rgb(0, 136, 0);">"@dimen/activity_vertical_margin"</span>
                    <span class="hljs-attribute" style="box-sizing: border-box; color: rgb(102, 0, 102);">tools:context</span>=<span class="hljs-value" style="box-sizing: border-box; color: rgb(0, 136, 0);">".MainActivity"</span>></span>
        <span class="hljs-tag" style="color: rgb(0, 102, 102); box-sizing: border-box;"><<span class="hljs-title" style="box-sizing: border-box; color: rgb(0, 0, 136);">com.zhy.colour_app_01.ColourImageView
    </span>        <span class="hljs-attribute" style="box-sizing: border-box; color: rgb(102, 0, 102);">zhy:border_color</span>=<span class="hljs-value" style="box-sizing: border-box; color: rgb(0, 136, 0);">"#FF000000"</span>
            <span class="hljs-attribute" style="box-sizing: border-box; color: rgb(102, 0, 102);">android:src</span>=<span class="hljs-value" style="box-sizing: border-box; color: rgb(0, 136, 0);">"@drawable/image_007"</span>
            <span class="hljs-attribute" style="box-sizing: border-box; color: rgb(102, 0, 102);">android:background</span>=<span class="hljs-value" style="box-sizing: border-box; color: rgb(0, 136, 0);">"#33ff0000"</span>
            <span class="hljs-attribute" style="box-sizing: border-box; color: rgb(102, 0, 102);">android:layout_width</span>=<span class="hljs-value" style="box-sizing: border-box; color: rgb(0, 136, 0);">"match_parent"</span>
            <span class="hljs-attribute" style="box-sizing: border-box; color: rgb(102, 0, 102);">android:layout_centerInParent</span>=<span class="hljs-value" style="box-sizing: border-box; color: rgb(0, 136, 0);">"true"</span>
            <span class="hljs-attribute" style="box-sizing: border-box; color: rgb(102, 0, 102);">android:layout_height</span>=<span class="hljs-value" style="box-sizing: border-box; color: rgb(0, 136, 0);">"match_parent"</span>/></span>
    
    <span class="hljs-tag" style="color: rgb(0, 102, 102); box-sizing: border-box;"></<span class="hljs-title" style="box-sizing: border-box; color: rgb(0, 0, 136);">RelativeLayout</span>></span>
    
    
    <span class="hljs-pi" style="color: rgb(0, 102, 102); box-sizing: border-box;"><?xml version="1.0" encoding="utf-8"?></span>
    <span class="hljs-tag" style="color: rgb(0, 102, 102); box-sizing: border-box;"><<span class="hljs-title" style="box-sizing: border-box; color: rgb(0, 0, 136);">resources</span>></span>
        <span class="hljs-tag" style="color: rgb(0, 102, 102); box-sizing: border-box;"><<span class="hljs-title" style="box-sizing: border-box; color: rgb(0, 0, 136);">declare-styleable</span> <span class="hljs-attribute" style="box-sizing: border-box; color: rgb(102, 0, 102);">name</span>=<span class="hljs-value" style="box-sizing: border-box; color: rgb(0, 136, 0);">"ColourImageView"</span>></span>
            <span class="hljs-tag" style="color: rgb(0, 102, 102); box-sizing: border-box;"><<span class="hljs-title" style="box-sizing: border-box; color: rgb(0, 0, 136);">attr</span> <span class="hljs-attribute" style="box-sizing: border-box; color: rgb(102, 0, 102);">name</span>=<span class="hljs-value" style="box-sizing: border-box; color: rgb(0, 136, 0);">"border_color"</span> <span class="hljs-attribute" style="box-sizing: border-box; color: rgb(102, 0, 102);">format</span>=<span class="hljs-value" style="box-sizing: border-box; color: rgb(0, 136, 0);">"color|reference"</span>></span><span class="hljs-tag" style="color: rgb(0, 102, 102); box-sizing: border-box;"></<span class="hljs-title" style="box-sizing: border-box; color: rgb(0, 0, 136);">attr</span>></span>
        <span class="hljs-tag" style="color: rgb(0, 102, 102); box-sizing: border-box;"></<span class="hljs-title" style="box-sizing: border-box; color: rgb(0, 0, 136);">declare-styleable</span>></span>
    <span class="hljs-tag" style="color: rgb(0, 102, 102); box-sizing: border-box;"></<span class="hljs-title" style="box-sizing: border-box; color: rgb(0, 0, 136);">resources</span>></span></code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li><li style="box-sizing: border-box; padding: 0px 5px;">7</li><li style="box-sizing: border-box; padding: 0px 5px;">8</li><li style="box-sizing: border-box; padding: 0px 5px;">9</li><li style="box-sizing: border-box; padding: 0px 5px;">10</li><li style="box-sizing: border-box; padding: 0px 5px;">11</li><li style="box-sizing: border-box; padding: 0px 5px;">12</li><li style="box-sizing: border-box; padding: 0px 5px;">13</li><li style="box-sizing: border-box; padding: 0px 5px;">14</li><li style="box-sizing: border-box; padding: 0px 5px;">15</li><li style="box-sizing: border-box; padding: 0px 5px;">16</li><li style="box-sizing: border-box; padding: 0px 5px;">17</li><li style="box-sizing: border-box; padding: 0px 5px;">18</li><li style="box-sizing: border-box; padding: 0px 5px;">19</li><li style="box-sizing: border-box; padding: 0px 5px;">20</li><li style="box-sizing: border-box; padding: 0px 5px;">21</li><li style="box-sizing: border-box; padding: 0px 5px;">22</li><li style="box-sizing: border-box; padding: 0px 5px;">23</li><li style="box-sizing: border-box; padding: 0px 5px;">24</li><li style="box-sizing: border-box; padding: 0px 5px;">25</li><li style="box-sizing: border-box; padding: 0px 5px;">26</li><li style="box-sizing: border-box; padding: 0px 5px;">27</li></ul>

    参考链接

    ok~

    源码点击下载,欢迎star or fork ~~~

    转载请标明出处: 
    http://blog.csdn.net/lmj623565791/article/details/45954255; 
    本文出自:【张鸿洋的博客】

    展开全文
  • 1、,计算机应用基础,第4单元Word2010文字处理软件的应用,中等职业教育规划教材,任务1创建一个Word文档,目录,第4单元,任务2Word文档格式设置,任务4Word表格操作,任务3Word文档页面设置,任务5Word图文混排,任务1创建一...

    《计算机应用基础之word2010课件》由会员分享,可在线阅读,更多相关《计算机应用基础之word2010课件(79页珍藏版)》请在读根文库上搜索。

    1、,计算机应用基础,第4单元Word2010文字处理软件的应用,中等职业教育规划教材,任务1创建一个Word文档,目录,第4单元,任务2Word文档格式设置,任务4Word表格操作,任务3Word文档页面设置,任务5Word图文混排,任务1创建一个Word文档,第4单元,任务描述小王搜集到了关于计算机应用领域的一些文字素材,他想用Word字处理软件输入这些文字材料,并保存在文档中,让我们与小王一起完成。,任务实施,1启动Word文字处理软件单击“开始”“所有程序”“MicrosoftOffice”“MicrosoftWord2010”。,提示启动Word经常使用的方法还有:双击桌面的Word快捷。

    2、方式;双击Word文档,打开文档的同时也打开了Word。,第4单元,“文件”选项卡,功能区,快速访问工具栏,垂直标尺,状态栏,插入光标与段落标记,“编辑”窗口,水平标尺,滚动条,第4单元,做中学,创建新文档的操作方法,1单击“文件”选项卡,2选择“新建”命令,3选择“可用模板”,4单击“创建”按钮,第4单元,2输入文档内容从语言栏中选择一种汉字输入方法,然后输入文字。,(1)插入字符把光标定位于要插入的位置,输入新内容。,计算机应用领域计算机的应用已渗透到社会各个领域,日益改变着传统工作、学习和生活方式,推动着社会发展,主要应用领域有如下方面:一、科学计算:科学计算是微机最早应用领域,指利用微。

    3、机来完成科学研究和工程技术中提出的数值计算问题。它可以解决人工无法完成的各种科学计算,如工程设计、地震预测、气象预报、火箭发射等方面问题。二、信息管理:信息管理是以数据库管理系统为基础,辅助管理者提高决策水平,改善运营策略的微机技术。信息管理包括数据的采集、存储、加工、分类、排序、检索和发布等一系列工作,是微机应用的主导方向。三、过程控制:过程控制是利用微机实时采集、分析数据,按最优值迅速对控制对象进行自动调节或控制。它已在机械、冶金、石油、化工、电力等领域得到广泛应用。,第4单元,提示,1单击“插入”选项卡,2单击“符号”,3单击“其他符号”,4在“符号”对话框中选择相应符号,5单击“插入”。

    4、按钮,第4单元,(2)删除字符删除字符最常用的方法:Del键删除插入点右边的一个字符,BackSpace键删除插入点左边的一个字符。删除的内容较多:拖动鼠标选定要删除的文本,然后按一下Del键,或者单击“开始”选项卡“剪贴板”组“剪切”。,(3)复制字符将鼠标指向该文本块中的任意位置,当鼠标指针变成一个空心的箭头时,按住Ctrl键不放,用鼠标拖动到达目标位置。用鼠标选定要复制的文本,单击“开始”选项卡“剪贴板”组“复制”,然后把光标移到要复制的目标位置,单击“开始”选项卡“剪贴板”组“粘贴”。,第4单元,提示单击快速访问工具栏中“撤消”按钮能撤消最近一次操作。单击“撤消”下拉列表,可展开最近进。

    5、行的一系列操作列表,单击要撤消的操作便可将对应的操作撤消。当没有操作可撤消时,“撤消”按钮将呈灰色暗淡显示。与撤消操作相对应的是“恢复”按钮。,(4)移动字符选定相应文本,将鼠标指向该文本块中的任意位置,当光标变成一个空心的箭头时,按住鼠标左键并拖动该箭头到达新位置后放开。选定要移动的文本,单击“开始”选项卡“剪贴板”组“剪切”,然后把光标移到要移动的目标位置,单击“开始”选项卡“剪贴板”组“粘贴”。,第4单元,3保存文档,1单击“文件”选项卡,2选择“保存”命令,3在“另存为”对话框中,选择文档的保存文件夹,4输入文件名,5单击“保存”按钮,第4单元,做中学1另存Word文档单击“文件”选项。

    6、卡“另存为”命令。2打开已存在的Word文档单击“文件”选项卡“打开”命令。,4关闭程序窗口单击“文件”选项卡“退出”命令单击窗口右上角的“关闭”按钮。,第4单元,相关知识1功能区在Word2010窗口上方看起来像菜单的名称其实是功能区的名称,如“开始”、“插入”、“页面布局”、“引用”、“邮件”、“审阅”、“视图”,当单击这些选项卡名称时会切换到与之相对应的功能区面板。每个功能区根据功能的不同又分为若干个组。,2Word2010中的文件类型默认保存文档的扩展名为“.docx”。,3文档的查找与替换(1)查找,第4单元,1单击“编辑”组,2单击“查找”,3输入查找内容,第4单元,(2)替换,1。

    7、单击“编辑”组,2单击“替换”,3输入查找内容,4输入替换内容,5单击“全部替换”按钮,第4单元,4文档的预览和打印(1)打印预览(2)打印文档,1单击“文件”选项卡,2选择“打印”命令,打印预览窗口,单击“打印”按钮,可打印文档,第4单元,5文档的视图模式单击“视图”选项卡,在“文档视图”组中选择。,(1)页面视图。显示文档的打印结果外观。(2)阅读版式视图。以图书的分栏样式显示文档。(3)Web版式视图。以网页的形式显示文档。(4)大纲视图。用于文档的设置和显示标题的层级结构。(5)草稿。仅显示标题和正文,是最节省计算机系统硬件资源的视图方式。,第4单元,拓展技能1快速访问工具栏的使用,1。

    8、单击“快速访问工具栏”下拉列表,2选择需要添加的命令,第4单元,2快捷菜单的使用,1选择要操作的对象,右单击鼠标,2选择快捷菜单中的命令,第4单元,任务2Word文档格式设置,任务描述,第4单元,任务实施,1设置字符格式(1)选中文档的标题“计算机应用领域”,单击“开始”选项卡“字体”组“字体”。,1设置中文字体为“黑体”,2设置字形为“加粗”,3设置字号为“二号”,4设置字体颜色为“深蓝”色,5单击“高级”选项卡,6设置缩放为“90%”,7设置间距磅值为“2磅”,8单击“文字效果”按钮,9设置渐变填充为“红日西斜”,10单击“关闭”按钮,返回“字体”对话框,单击“确定”按钮,第4单元,(2)。

    9、选中文档的正文,设置为黑色楷体、小四号字。(3)选中“一、科学计算”,设置为深红色幼圆体、四号、加粗。(4)依次选中后面五段的标题,设置与(3)相同。,做中学,(1)使用鼠标进行选定操作,第4单元,(2)使用键盘进行选定操作,第4单元,2设置段落格式,(1)选中标题,单击“开始”选项卡“段落”组“段落”,打开“段落”对话框。,1在“缩进和间距”选项卡中设置对齐方式为“居中”,2设置段后间距为“1行”,3单击“确定”按钮,第4单元,(2)将光标放在第一段或选中第一段,设置对齐方式为“两端对齐”,缩进设置为首行缩进“2字符”,行距设置为固定值“26磅”。(3)选中文档的后面段落,均设置对齐方式为“。

    10、两端对齐”,缩进设置为首行缩进“2字符”,行距设置为固定值“24磅”。(4)单击快速访问工具栏中的“保存”按钮将文件存盘。,提示在对Word文档进行“字体”和“段落”格式设置时,经常使用“字体”组、“段落”组进行快速设置。,图4-16“字体”组图4-17“段落”组,第4单元,相关知识1字体格式(1)字体。字体指字符的形体。宋体、仿宋体、楷体、黑体、隶书等。(2)字号。字号是指字符的大小,常用的有从初号到八号字,默认使用的是五号字。(3)字形。字形是指关于字符的一些属性,如常规、加粗、倾斜等。(4)字符颜色。默认的字符颜色为黑色,也可以把字符设置为红、黄、绿等。(5)“高级”选项卡。设置字符的缩。

    11、放、间距、位置。(6)文字效果。设置字符的多种效果,如文本填充、文本边框、轮廓样式、阴影、映像、发光和柔化边缘、三维格式等。,第4单元,2段落格式(1)对齐方式。有两端对齐、居中对齐、左对齐、右对齐和分散对齐五种。(2)缩进。缩进的格式分首行缩进、悬挂缩进、左缩进、右缩进等。(3)行距。分单倍行距、1.5倍行距、2倍行距、多倍行距、最小值、固定值等六种。(4)段间距。分为段前距离和段后距离两种。,第4单元,3添加项目符号或编号,1单击“项目符号”右边箭头,2选择项目符号库中符号,3如需定义新项目符号,单击“定义新项目符号”,打开对话框,4单击“符号”选择新项目符号,5单击“图片”设置图片为项目。

    12、符号,6单击“字体”设置项目符号的字体,7设置项目符号的对齐方式,8单击“确定”按钮,添加新项目符号,第4单元,1单击“编号”右边箭头,2选择编号库中编号,3如需定义新编号,单击“定义新编号格式”,打开对话框,4选择编号样式,5单击“字体”设置编号字体,6设置编号的对齐方式,7单击“确定”按钮,添加新编号,第4单元,4文字方向,1单击“文字方向”,2选择文字方向,3单击“文字方向选项”可对文字方向进行设置,4选择文字方向,5选择应用范围,6单击“确定”按钮,第4单元,5字数统计单击“审阅”选项卡“校对”组“字数统计”,就会显示统计信息,包括页数、字数、字符数(不计空格)、字符数(计空格)、段落。

    13、数、行数、非中文单词等。,拓展技能,格式刷的使用方法段落:先将光标停在源段落,点“格式刷”按钮,单击目标段落。文字:选定源文字,点“格式刷”按钮,选择目标文字。双击“格式刷”按钮,使其处于被按下的状态,可连刷若干次。取消格式刷:按Esc键或再次单击“格式刷”按钮。,第4单元,任务3Word文档页面设置,任务描述,第4单元,任务实施,1页面设置单击“页面布局”选项卡“页面设置”组“页面设置”,1设置上边距为2.6厘米,2设置下边距为2.6厘米,5设置纸张方向为“横向”,4设置右边距为2.5厘米,3设置左边距为2.5厘米,7设置纸张大小为A4,6单击“纸张”选项卡,8单击“确定”按钮,第4单元,提。

    14、示页边距是指文档四周的空白区域,在页边距区域可放置页眉、页脚、页码等。,第4单元,6单击“确定”按钮,1单击“页面设置”组的“分栏”,3单击预设中的“两栏”,2单击“更多分栏”,4勾选“分隔线”,5勾选“栏宽相等”,2分栏设置,第4单元,提示解决不平衡分栏问题。,第4单元,4边框和底纹的设置,选定文字,单击“页面布局”选项卡“页面背景”组“页面边框”,1单击“边框”选项卡,2选择“方框”,3选择“样式”,4选择“颜色”,5选择“宽度”,6单击“底纹”选项卡,7选择图案“样式”为“10%”,8选择“颜色”为红色,9单击“确定”按钮,第4单元,做中学设置页面边框,第4单元,5页眉和页脚的设置,(1。

    15、)单击“插入”选项卡“页眉和页脚”组“页眉”,为文档添加“照射型”页眉。左侧输入内容“计算机应用”,设为隶书、四号字、深蓝色,右侧内容为当前日期。,1单击“页眉”按钮,2选择“照射型”页眉,第4单元,(2)单击“插入”选项卡“页眉和页脚”组“页脚”,为文档添加“字母表型”页脚,左侧输入内容“计算机应用领域.docx”,并设为仿宋体、小四号、深蓝色。,提示奇偶页设置不同的页眉和页脚,单击“页面布局”选项卡“页面设置”组“页面设置”按钮,打开“页面设置”对话框。,1单击“版式”选项卡,2勾选“奇偶页不同”,3单击“确定”按钮,第4单元,相关知识1设置页面颜色,2选择颜色,或从“其他颜色”中选择,3。

    16、如需其他填充方式,选择“填充效果”,打开“填充效果”对话框,4进行设置后,单击“确定”按钮,1单击“页面颜色”按钮,打开“主题颜色”对话框,第4单元,2添加水印,1单击“水印”,打开“机密”对话框,2选择水印样式,3如需自定义水印,选择“自定义水印”命令,第4单元,3插入分隔符,1单击“分隔符”,2选择分页符或分节符,第4单元,4插入页码,1单击“页码”,2选择页码位置,3如需更改页码格式,单击“设置页码格式”按钮,打开“页码格式”对话框,第4单元,拓展技能,使用样式,1单击“样式”,2选择相应样式,第4单元,任务4Word表格操作,任务描述,第4单元,任务实施,1插入表格(1)新建一Word。

    17、文档,以文件名为“成绩表”保存。(2)将光标定位到表格的起始位置,单击“插入”选项卡“表格”组“表格”,插入列数为9、行数为9的表格。,1单击“表格”,2选择“插入表格”命令,打开“插入”对话框,3选择“列数”为“9”,4选择“行数”为“9”,5勾选“根据内容调整表格”选项,6单击“确定”按钮,第4单元,提示,表格的选取与取消选取(1)选定单个单元格:将鼠标指针移到表格某单元格的左下角,当鼠标指针变为时单击。,(2)选定表格的一行:将鼠标指针移到表格一行的左边,当鼠标指针变为时单击。,(3)选定表格的一列:将鼠标指针移到表格一列的上边界,当鼠标指针变为时单击。,(4)选定多个单元格:在需选定的。

    18、单元格区域内拖动鼠标左键。(5)选定多行:将鼠标指针移到多行的首行(或末行)的左边,当鼠标指针变为时拖动到末行(或首行。,(6)选定多列:将鼠标指针移到多列的首列(或末列)的上边界,当鼠标指针变为拖动到末列(或首列。,(7)选定整个表格:单击表格左上方的标志。,(8)取消选定:单击文档的任何区域。,第4单元,2表格的编辑(1)改变单元格行高、列宽,选定表格第2行,单击“布局”选项卡“单元格大小”组“表格属性”,1单击“行”选项卡,2设置高度为“1.5厘米”,3单击“确定”按钮,1单击“行”选项卡,第4单元,1单击“列”选项卡,2设置列宽为“1.6厘米”,3单击“确定”按钮,第4单元,提示在对表。

    19、格的行高、列宽进行修改时,经常使用“单元格大小”组快速设置,(2)单元格的合并选定表格第1行的25个单元格,单击“布局”选项卡“合并”组“合并单元格”,将单元格合并。采用相同方法依次合并表格第1行第68个单元格、表格第1列前两个单元格、表格最后1列的前两个单元格。,第4单元,做中学拆分单元格,1单击“拆分单元格”,2设置拆分列数,3设置拆分行数,4单击“确定”按钮,第4单元,3绘制斜线表头,1单击“绘制表格”,2用鼠标沿斜线方向拉动绘制,4表格中文本的输入与公式计算(1)文字输入。,第4单元,(2)“总分”的计算。,1单击“fx公式”,3单击“确定”按钮,2输入求和公式,(3)“平均”的计算。。

    20、,第4单元,5表格格式的设置(1)设置表格文本格式单击“开始”选项卡“字体”组。(2)设置文本对齐格式单击“布局”选项卡“对齐方式”组“水平居中”。,第4单元,相关知识,1行和列的插入与删除(1)插入行或列。,(2)删除行或列。,2选择“删除列”或“删除行”,1单击“删除”,第4单元,3单击“确定”按钮,1单击“表格插入单元格”,2选择“活动单元格右移”或“活动单元格下移”,2单元格的插入与删除插入单元格。,(2)删除单元格。单击“布局”选项卡“行和列”组“删除”“删除单元格”。,3表格的删除单击“布局”选项卡“行和列”组“删除”“删除表格”。,第4单元,4表格的对齐方式,4单击“确定”按钮,。

    21、1单击“属性”,打开“表格属性”对话框,2单击“表格属性”对话框中“表格”选项卡,3选择对齐方式,第4单元,5设置表格边框、底纹,1单击“边框”选项卡,2选择“自定义”,3选择“样式”,4设置“颜色”,5设置“宽度”,6单击“底纹”选项卡,设置底纹后,单击“确定”按钮,第4单元,拓展技能,表格样式,1单击“其他”按钮,2选择内置表样式,第4单元,任务5Word图文混排,第4单元,任务实施,1插入艺术字,1单击“艺术字”,2选择艺术字样式,3在艺术字框中输入“春节习俗”,第4单元,提示,(1)设置艺术字形状样式选定艺术字,单击“格式”选项卡“形状样式”组。,选择“艺术字”样式,设置形状填充,单击。

    22、打开“设置形状格式”对话框,设置形状轮廓,设置形状效果,第4单元,(2)设置艺术字样式选定艺术字,单击“格式”选项卡“艺术字样式”组。,设置文本填充,设置文本轮廓,单击“艺术字样式”打开“设置文本效果格式”对话框,设置文字效果,设置“快速样式”,第4单元,2插入文本框,1单击“文本框”,2选择“绘制文本框”命令,3在文档的下面拖动鼠标插入文本框,并输入文字,第4单元,选择文本框,单击“格式”选项卡“形状样式”组,选择“彩色轮廓-红色”。单击“格式”选项卡“大小”组,设置文本框的大小,1设置文本框高度,2设置文本框宽度,第4单元,3插入图片,1单击“图片”按钮,打开“插入图片”对话框,2选择图片。

    23、所在文件夹,3选择文件或输入文件名,4单击“插入”按钮,第4单元,3单击打开“布局”对话框,4单击“文字环绕”选项卡,5选择“四周型”环绕方式,6单击“确定”按钮,1设置图片高度为“2.2厘米”,2设置图片宽度为“2.2厘米”,第4单元,提示,(1)设置图片艺术效果,第4单元,(2)设置图片样式,单击打开“设置图片格式”对话框,选择图片样式,第4单元,做中学插入剪贴画,1输入“搜索文字”,2单击“搜索”命令,3选择剪贴画插入,第4单元,4插入自选图形,1单击“形状”,2选择“矩形”,3在文档左部拖动鼠标插入一矩形,第4单元,1单击“文字方向”,2选择“垂直”,第4单元,做中学,插入图表将光标放。

    24、在插入点,单击“插入”选项卡“插图”组“图表”,第4单元,相关知识,1插入对象的大小调整和移动位置(1)大小调整,(2)对象的移动鼠标指针放置在对象边线,鼠标指针形状变成十字箭头形,用鼠标拖动的方法,或直接使用键盘上的上、下、左、右键来操作;另外,Ctrl键和上、下、左、右键配合使用,可以精确地调整对象的位置。,第4单元,2环绕方式,第4单元,文本框,文本框,3图片的裁剪选定要裁剪的图片,单击“格式”选项卡“大小”组“裁剪”,第4单元,4首字下沉,1单击“首字下沉”,2选择首字下沉方式,或选择“首字下沉”选项,打开“首字下沉”对话框,单击“插入”选项卡“文本”组“首字下沉”,第4单元,拓展技能,插入公式,单击“插入”选项卡“符号”组“公式”右边箭头,1单击“公式”右边的箭头,2选择内置公式,或选择“插入新公式”选项,THEEND!,。

    展开全文
  • 该文档中有office中的大部分常用的快捷键,可以帮助文员更快的办公。
  • 推荐 Word、EXCEL必备工具箱

    千次阅读 2019-09-20 09:41:36
    21、图片工具→新增“读取图片名称”功能,将选定区域的图片图片名称读出,便于筛选图片等操作。 WPS下的改进: 1、财税工具→财税→“统一日期格式”功能,部分情况下,转换结果不格式与需要的格式不相符(只是...
  • 经典Office 2003专升本复习题(Word、Excel、PowerPoint) 一、Word 2003 1. 启动 Word 是指: 将 Word 从硬盘中调入主存执行 2. 菜单栏: 文件( F )、编辑( E )、视图( V )、插入( I )、格式( O )、...
  • 实训项目二 Word 综合应用示例实训项目二 Word 综合应用示例PAGEPAGE 1实训项目二 Word 综合应用实训满分20分。以日常应用为基础,设计一个综合运用 Word 基本操作技能解决实际问题的文档。文档内容要求包括以下基本...
  • Word 2003从入门到精通》第五讲(图文混排)讲师 朱先忠Part 0主要内容Part 1插入图形在WORD2003中,插入图片的8种途径:剪贴画来自文件来自扫描仪或者照相机绘制新图形自选图形艺术字组织结构图图表[提示]...
  • word 技巧60招

    2014-02-16 14:14:25
    对于word的一些操作方法,用于offic办公工具!
  • word技巧

    2012-10-14 18:56:16
    word的技巧,你可以一直用到,如果word大神可无视
  • 如何将图片设置为Word页面背景?

    千次阅读 2021-07-13 00:13:06
    腾讯视频/爱奇艺/优酷/外卖 充值4折起在日常办公中,我们经常会需要制作一些精美的word文档,插入背景图片可以让word文档看起来更加精致,接下来小编就给大家介绍一下如何将图片设置为Word页面背景。具体如下:1. ...
  • Excel多张表格数据自动汇总到一张表上方法?...在“选定汇总项”中可以选择一个或者多个要进行分类汇总的字段,这里选择了一项“销售金额”,如图4所示,然后单击确定.先对数据以“产品名称”为关键字进行一次排序...
  • 计算机应用基础第3章 Word基本应用—制作求职简历第3章 Word基本应用—制作求职简历 计算机应用基础(第2版) 国家精品课程配套教材 一版荣获国家精品教材 深圳职业技术学院 学习目标 熟练掌握字符和段落格式化的使用...
  • excel填快捷键:图黄色背景的就是填充色的表格如果只是作填充颜色,可以击一次填充颜色按钮,在下次一继续填充的时候按F4就可以了,F4是重复上一步操作设置固定的快捷键,首先找到“工具”——“宏”——“录制新宏...
  • 填充颜色 D. 快速进行格式复制 答案:D 23. 在Word文档中插入符号时,首先要做的操作是() A. 选择“符号”菜单 B. 将光标定位到插入点 C. 选取要插入的符号 D. 选择“插入”菜单 答案:B 24. 在Word中将图片移动到...
  • Word基础文本编辑知识教程:1、文字编辑功能所有的基本文本编辑功能都位于“主页”功能区选项卡中。请注意,Word在“主页”选项卡的“字体”类别中提供了几种样式化功能。在文档中键入内容时,将大量使用这些功能和...
  • 计算机能力考试试题2010(二).doc 1打开考生文件夹(C\EXAM\123)下的“WORD4_2DOC”文件1、插入分隔符和页码在文章的最前面插入分隔符“分节符类型为 下一页 ”,将光标定位到文件的第2页,插入页码,起始页码为1;...
  • 实训项目二 Word 综合应用示例实训项目二 Word 综合应用示例PAGEPAGE 1实训项目二 Word 综合应用实训满分20分。以日常应用为基础,设计一个综合运用 Word 基本操作技能解决实际问题的文档。文档内容要求包括以下基本...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,245
精华内容 1,298
关键字:

word选定区域填充颜色