第47篇白板修复之铅笔选择三种粗细(一)

2023-11-21 18:50

本文主要是介绍第47篇白板修复之铅笔选择三种粗细(一),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

关键词:铅笔选择三种粗细

一、铅笔选择三种粗细

1.问题描述

  现在铅笔只有一种默认粗细可选,也就是width=1;现在要加两种粗细,分别是width=4;width=7;

2. 思路分析

  这个相对来说有一定难度,可分为两个步骤:第一步是鼠标画时,展现出三种粗细;

                                          第二步是点阵笔画时,展现出三种粗细;

3. 开工

  现在做成了,添加三支笔,都能写的模式,如下:

相关代码如下:

   <section id="tool-box" class="tool-box"style="background:#e3e3e5;">

       <canvas id="image-icon" width="50"height="40" title="图片"></canvas >

        <canvas id="drag-last-path"width="50" height="40" title="移动"style="display:none;"></canvas>

       <canvas id="pencil-icon1"width="50" height="40" title="铅笔1"></canvas>

        <canvas id="pencil-icon2"width="50" height="40" title="铅笔2"></canvas>

        <canvas id="pencil-icon3"width="50" height="40" title="铅笔3"></canvas>

       <canvas id="colors" width="50"height="40" title="颜色"></canvas>

       <canvas id="colors" width="50"height="40" title="颜色"></canvas>

       <canvas id="eraser-icon" width="50"height="40" title="橡皮擦"style="display:none;"></canvas>

       <canvas id="line" width="50"height="40" title="直线"></canvas>

       <canvas id="arrow" width="50"height="40" title="箭头"></canvas>

       <canvas id="arc" width="50" height="40"title="圆形"></canvas>

       <canvas id="rectangle" width="50"height="40" title="矩形"></canvas>

       <!--

       <canvas id="br" width="60"height="60"></canvas>

       <!--以下暂不显示-->

       <canvas id="text-icon" width="60" height="45"title="文本"></canvas>

       <canvas id="marker-icon" width="60"height="45" title="记号笔"></canvas>

       <canvas id="drag-all-paths" width="60"height="45"></canvas>

       <canvas id="quadratic-curve" width="60"height="45" title="记号笔"></canvas>

       <canvas id="bezier-curve" width="60"height="45" title="记号笔"></canvas>

       <canvas id="clean" width="60"height="60" style="display:none;"></canvas>

 

       

</section>

加了三个decoratePencil

        function decoratePencil1() {//铅笔1           

                          var context =getContext("pencil-icon1"),

                          image = new Image;

            image.onload = function() {

                context.drawImage(image, 0, 0,40, 40),

                bindEvent(context,"Pencil")

               

            },

            image.src ="/static/img/pencil.png";

        }

        

        function decoratePencil2() {//铅笔2           

                          var context =getContext("pencil-icon2"),

                          image = new Image;

            image.onload = function() {

                context.drawImage(image, 0, 0,40, 40),

                bindEvent(context,"Pencil")

               

            },

            image.src ="/static/img/pencil.png";

        }

 

        function decoratePencil3() {//铅笔3           

                          var context =getContext("pencil-icon3"),

                          image = new Image;

            image.onload = function() {

                context.drawImage(image, 0, 0,40, 40),

                bindEvent(context,"Pencil")

               

            },

            image.src ="/static/img/pencil.png";

        }

另外加了三个调用decoratePencil的代码如下:

但控制粗细的代码还集中到一起,如下:

                  line: function(context, point,options) {

                                   if(options&& options[0] <=1 ){

                                   options[0] =1.3;

                          }

                          context.beginPath(),context.moveTo(point[0], point[1]), context.lineTo(point[2], point[3]),this.handleOptions(context, options|| this.getOptions({lineWidth:1.2}))

                  },

下一步就是将它们分开!

2016年12月30日星期五

这篇关于第47篇白板修复之铅笔选择三种粗细(一)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/404367

相关文章

电脑找不到mfc90u.dll文件怎么办? 系统报错mfc90u.dll丢失修复的5种方案

《电脑找不到mfc90u.dll文件怎么办?系统报错mfc90u.dll丢失修复的5种方案》在我们日常使用电脑的过程中,可能会遇到一些软件或系统错误,其中之一就是mfc90u.dll丢失,那么,mf... 在大部分情况下出现我们运行或安装软件,游戏出现提示丢失某些DLL文件或OCX文件的原因可能是原始安装包

电脑显示mfc100u.dll丢失怎么办?系统报错mfc90u.dll丢失5种修复方案

《电脑显示mfc100u.dll丢失怎么办?系统报错mfc90u.dll丢失5种修复方案》最近有不少兄弟反映,电脑突然弹出“mfc100u.dll已加载,但找不到入口点”的错误提示,导致一些程序无法正... 在计算机使用过程中,我们经常会遇到一些错误提示,其中最常见的就是“找不到指定的模块”或“缺少某个DL

快速修复一个Panic的Linux内核的技巧

《快速修复一个Panic的Linux内核的技巧》Linux系统中运行了不当的mkinitcpio操作导致内核文件不能正常工作,重启的时候,内核启动中止于Panic状态,该怎么解决这个问题呢?下面我们就... 感谢China编程(www.chinasem.cn)网友 鸢一雨音 的投稿写这篇文章是有原因的。为了配置完

如何将Python彻底卸载的三种方法

《如何将Python彻底卸载的三种方法》通常我们在一些软件的使用上有碰壁,第一反应就是卸载重装,所以有小伙伴就问我Python怎么卸载才能彻底卸载干净,今天这篇文章,小编就来教大家如何彻底卸载Pyth... 目录软件卸载①方法:②方法:③方法:清理相关文件夹软件卸载①方法:首先,在安装python时,下

Redis实现延迟任务的三种方法详解

《Redis实现延迟任务的三种方法详解》延迟任务(DelayedTask)是指在未来的某个时间点,执行相应的任务,本文为大家整理了三种常见的实现方法,感兴趣的小伙伴可以参考一下... 目录1.前言2.Redis如何实现延迟任务3.代码实现3.1. 过期键通知事件实现3.2. 使用ZSet实现延迟任务3.3

Java图片压缩三种高效压缩方案详细解析

《Java图片压缩三种高效压缩方案详细解析》图片压缩通常涉及减少图片的尺寸缩放、调整图片的质量(针对JPEG、PNG等)、使用特定的算法来减少图片的数据量等,:本文主要介绍Java图片压缩三种高效... 目录一、基于OpenCV的智能尺寸压缩技术亮点:适用场景:二、JPEG质量参数压缩关键技术:压缩效果对比

mss32.dll文件丢失怎么办? 电脑提示mss32.dll丢失的多种修复方法

《mss32.dll文件丢失怎么办?电脑提示mss32.dll丢失的多种修复方法》最近,很多电脑用户可能遇到了mss32.dll文件丢失的问题,导致一些应用程序无法正常启动,那么,如何修复这个问题呢... 在电脑常年累月的使用过程中,偶尔会遇到一些问题令人头疼。像是某个程序尝试运行时,系统突然弹出一个错误提

电脑提示找不到openal32.dll文件怎么办? openal32.dll丢失完美修复方法

《电脑提示找不到openal32.dll文件怎么办?openal32.dll丢失完美修复方法》openal32.dll是一种重要的系统文件,当它丢失时,会给我们的电脑带来很大的困扰,很多人都曾经遇到... 在使用电脑过程中,我们常常会遇到一些.dll文件丢失的问题,而openal32.dll的丢失是其中比较

电脑win32spl.dll文件丢失咋办? win32spl.dll丢失无法连接打印机修复技巧

《电脑win32spl.dll文件丢失咋办?win32spl.dll丢失无法连接打印机修复技巧》电脑突然提示win32spl.dll文件丢失,打印机死活连不上,今天就来给大家详细讲解一下这个问题的解... 不知道大家在使用电脑的时候是否遇到过关于win32spl.dll文件丢失的问题,win32spl.dl

C语言实现两个变量值交换的三种方式

《C语言实现两个变量值交换的三种方式》两个变量值的交换是编程中最常见的问题之一,以下将介绍三种变量的交换方式,其中第一种方式是最常用也是最实用的,后两种方式一般只在特殊限制下使用,需要的朋友可以参考下... 目录1.使用临时变量(推荐)2.相加和相减的方式(值较大时可能丢失数据)3.按位异或运算1.使用临时