当前位置: 首页 > news >正文

韶关做网站的公司常州网站制作维护

韶关做网站的公司,常州网站制作维护,江西省赣州市章贡区邮政编码,南昌网站建设维护本文简介 点赞 关注 收藏 学会了 这几天在整理书柜时看到这套书,看到梵高,想起他的点彩画。 想到点彩画派,不得不提的一个画家叫乔治皮埃尔秀拉。据说梵高也模仿过他的画作。 我引用一下维基百科对点彩画派的解析: 点彩画派&…

本文简介

点赞 + 关注 + 收藏 = 学会了


这几天在整理书柜时看到这套书,看到梵高,想起他的点彩画。

file


想到点彩画派,不得不提的一个画家叫乔治·皮埃尔·秀拉。据说梵高也模仿过他的画作。

我引用一下维基百科对点彩画派的解析:

点彩画派(又称点描派;英文:Pointillism)是一种用很粗的彩点堆砌,创造整体形象的油画绘画方法。


说简单点,就是用圆点画画,比如秀拉的这幅作品《检阅》。

file


这种风格除了用在艺术绘画方面,在眼科医院体检的时候也会用到,比如测红绿色盲。

然后我又继续想啊想,想到我们用 canvas 好像也能做出一款点彩画的绘图工具,但用原生的方式写是不可能的,因为我懒。思前想后,还是觉得用 p5.js 写会好点,毕竟这个库也是个比较知名的艺术库。


于是查了一下 p5.jsapi ,做了一个简陋版的工具。样式方面就靠各位工友动手啦~

file



动手编码

要实现这个画版工具主要有以下步骤:

  1. 创建 canvas 画布。
  2. 创建颜色选择器。
  3. 创建画笔宽度控制器。
  4. 需要一个重置画布的按钮。
  5. 监听鼠标点击和点击时移动的位置。
  6. 根据鼠标点击和点击时移动的位置创建圆形。
  7. 点击重置画布按钮将画布背景设置回白色。

主要工作就是以上几步,而且这几步都用了 p5.js 提供的方法去实现。

主要用到的生命周期有 setupdraw,这部分我在 p5.js 光速入门 里有讲到。

创建颜色选择器、滑块、按钮分别用了 p5.jscreateColorPicker()createSlider()createButton() 方法。

绘制过程的代码写在 draw 周期里,使用了 circle() 方法创建圆形,圆形的坐标就是鼠标绘画时的当前坐标,圆形的尺寸是取滑块的值,圆形的颜色取了颜色选择器的值。


03

以下是完整代码,可以结合上面的讲解和代码中的注释一起理解。

<script src="https://cdn.jsdelivr.net/npm/p5@1.5.0/lib/p5.js"></script><script>// 颜色选择器let colorPicker// 滑块let brushSizeSlider// 布尔变量,用于跟踪是否正在绘制let isDrawing = false// 笔刷的大小,默认为10let brushSize = 10function setup() {// 创建一个400x400像素大小的画布let canvas = createCanvas(400, 400)canvas.style('border', '1px solid #ccc')// 创建颜色选择器colorPicker = createColorPicker('#ff0000')// 设置颜色选择器的位置colorPicker.position(10, height + 10)// 创建滑块brushSizeSlider = createSlider(1, 50, 10, 1)// 设置滑块位置brushSizeSlider.position(120, height + 10)// 创建按钮let resetButton = createButton('Reset')// 设置按钮位置resetButton.position(240, height + 10)// 设置按钮事件resetButton.mousePressed(resetCanvas)background(255)}function draw() {if (isDrawing) {let selectedColor = colorPicker.color()let selectedSize = brushSizeSlider.value()fill(selectedColor)noStroke()circle(mouseX, mouseY, selectedSize)}}// 当鼠标按下时function mousePressed() {isDrawing = true}// 当鼠标松开时function mouseReleased() {isDrawing = false}function resetCanvas() {background(255)}
</script>

上面的写法是用 CDN 的方式引入 p5.js,用法上和 npm 下载的 p5.js 是有一丢丢区别的,想了解这方面知识可以看看 《p5.js 使用npm安装p5.js后如何使用?》


同时我还把本文的代码放到【码上掘金】了,有兴趣的工友自行获取吧~



推荐阅读

👍《p5.js 光速入门》

👍《p5.js 3D图形-立方体》

👍《p5.js 变换操作》

👍《p5.js map映射》

👍《p5.js 状态管理》

👍《p5.js 到底怎么设置背景图?》)


点赞 + 关注 + 收藏 = 学会了 代码仓库

http://www.dt0577.cn/news/2169.html

相关文章:

  • 中国建设银行网站官网厦门关键词排名推广
  • 网站建设对企业的重要性2345网址导航官网
  • 网站设计优缺点友情链接英文翻译
  • 手机端网站开发页外贸营销网站
  • 惠州营销网站制作搜索seo优化托管
  • 什么网站做adsense好黄页网站推广
  • 南京网站建设流程专业网络推广公司排名
  • wordpress walker直通车关键词优化口诀
  • 中国建设教育协会的是假网站吗优化 英语
  • 如何利用分类信息网站做推广使用 ahrefs 进行 seo 分析
  • vs2010做网站教程百度百度一下
  • 做网站需要什么配置服务器西安专业做网站公司
  • 电脑购物网站模板网络营销方式方法
  • 那个网站报道过鸟巢建设长沙网站制作
  • wordpress自定义路由seo是搜索引擎优化吗
  • 200做网站海外seo是什么
  • 江苏水利工程建设局网站h5网站制作平台
  • 扶贫基金会网站建设是哪家公司东莞seo建站推广费用
  • 兼职网网站建设方案建议书seo接单平台有哪些
  • 四川做网站设计公司价格搜索引擎优化 简历
  • 公司对网站排名如何做绩效seo和sem的区别是什么
  • 开彩票网站做私庄百度旗下的所有产品
  • 网wordpress站底部图片悬浮互联网
  • 网站开发与设计 信科企业培训考试系统
  • 哈尔滨手机网站制作培训网站推荐
  • 可以建设彩票网站吗微信软文推广怎么做
  • asp做网站 的pdf教程seo效果检测步骤
  • 南京做网站联系南京乐识苏州seo免费咨询
  • 怎么用宝塔做网站百度数据开放平台
  • 做网站的职业规划朝阳网络推广