少儿编程:使用cratch自带的“图片编辑器”腾讯云开发者社区

在之前的文章中,每当我们需要增加角色或者舞台背景的时候,一般都是从Scratch自带的素材库中选取现成的图片,这种方式快捷、方便。在《龟兔赛跑》等一些编程实例中,因素材库缺少我们需要的角色形象,我们换成从计算机本地选择图片的方式,完成了角色新增。

所以,我们已经用过了两种新增角色的方法:“选择一个角色”和“上传角色”。

Scratch 3提供了4种新增角色的方法,我们还有“随机”和“绘制”两种方式没有使用过。

点击【随机】后,Scratch会从角色库中随机选择一个作为新的角色,所以,它的实质还是Scratch素材库,也就不需要扩展讲解了。

那么,我们就只剩【绘制】需要额外学习了!

一、图片编辑的基础概念

绘图的两种模式

点击【绘制】,然后选中新增的角色,将左上角的tab卡片切换到【造型】。

此时,绘图是默认的“矢量图”模式;点击界面左下角蓝色【转换为位图】按钮,绘图模式变成”位图“,而蓝色按钮上的文字变成了”转换为矢量图“。再次点击蓝色按钮,模式可以切换回”矢量图“模式。

下图是两种模式下界面、操作菜单的对比,能明显看出二者的不同:

但是,请耐心,我们暂且不讲这些有趣的功能菜单,先来搞清楚几个问题:

”什么是矢量图?什么是位图?它们有什么区别?“

矢量图

什么是矢量图?

矢量图(Vector graphics),也叫向量图,是根据几何元素来绘制图形,是用点、线、矩形、多边形、圆和弧线等等几何元素描述图像。这些几何元素都是通过数学公式计算获得的。

矢量文件中的图形元素称为对象。每个对象都是一个自成一体的实体,它具有颜色、形状、轮廓、大小和屏幕位置等属性。

我们熟悉的Scratch小猫形象就是矢量图:

蓝色线就是一个个的几何元素

矢量图形最大的优点是无论放大、缩小或旋转等不会失真;最大的缺点是难以表现色彩层次丰富的逼真图像效果。

”矢量“这个概念怎么理解?

矢量图是使用矢量化的数据结构存储图片数据的。矢量数据结构通过记录坐标的方式尽可能精确地表示点、线和多边形等地理实体,坐标空间设为连续,允许任意位置、长度和面积的精确定义。矢量结构的显著特点:定位明显,属性隐含。

下面我更详细的看一看矢量图的优缺点。

优点:

(1)文件小;

(2)图像元素对象可编辑;

(3)图像放大或缩小不影响图像的分辨率;

(4)图像的分辨率不依赖于输出设备;

(5)线条非常顺滑并且是同样粗细的;

(6)颜色的边缘是非常顺滑的。

缺点:

(1)重画图像困难;

(2)真实照片逼真度低,要画出自然度高的图像需要很多的技巧;

(3)无法产生色彩艳丽、复杂多变的图像;

(4)矢量图仿图绘制做卡通的相似度97%以上,3%是清晰美化的。

位图

什么是位图?

位图(Bitmap),又称栅格图(英语:Raster graphics)或点阵图,是使用像素阵列(Pixel-array/Dot-matrix点阵)来表示的图像。位图的像素都分配有特定的位置和颜色值。

当放大位图时,可以看见构成整个图像的无数单个方块。扩大位图尺寸的效果是增大单个像素,从而使线条和形状显得参差不齐。然而,如果从稍远的位置观看它,位图图像的颜色和形状又显得是连续的。

位图和它放大的细节

和位图有关的概念还有编码方式(如,RGB、CMYK),色彩深度,颜色表,Alpha通道等等,在本文中不再展开。

矢量图和位图的区别

矢量图与位图比较,有什么区别?

下图对比了矢量图和位图放大后的显示效果示例:(a)原始矢量图和位图;(b)矢量图放大8倍;(c)位图放大8倍。位图的放大质量较差,但是矢量图可以不降低质量地无限放大。

最后,我用一句话总结二者:

矢量图是一堆几何元素的组合,位图是由一个个像素点的组成。

这个概况虽不全面,但胜在抓住了重点 : )

文中介绍两种图像模式的内容主要根据Wikipedia和百度百科相关词条进行整理。本文内容可能枯燥而偏学术,但让读者对”矢量图和位图“两个概念有个大致了解,对大家在后面的文章中继续学习Scratch的图片编辑器有非常重要的作用。

文章开写后才发现内容有点多,可能要分3部分才能讲完。另外,有的读者可能会疑惑,为什么停下Scratch实战而要介绍”图片编辑器“呢?那是因为我在编写下一个”实例“文章时遇到了图片编辑器的问题,具体是什么问题先按下不说,以后你自然会明白 ;)

tag:#Scratch编程、#少儿编程、#儿童编程、#趣味编程、#青少年编程、#软件编程

THE END
0.震惊!国内已知第一款Scratch3.0编程软件KittenBlock推出Pythonfrom scratch3import*importtimeforxinrange(100):looks.nextCustome()time.sleep(0.1) time.sleep(1)类似于控制中的等待,意思是等待1秒.尝试改变sleep方法的值观察不同的动画效果 总结 KittenBlock推出的Python功能涵盖了常见的代码块,加上很多python代码功能比如数学运算啊,控制结构啊,变量和列表都是Python自带的,用jvzquC41yy}/lrfpuj{/exr1r1=54?i4359f8>
1.少儿编程实例:太阳系模型Scratch项目简介:本书旨在通过制作太阳系模型的Scratch编程项目,帮助儿童学习基础编程知识并激发科学兴趣。Scratch作为一个图形化编程工具,通过积木块形式降低了编程难度,使得学习过程更简单有趣。项目中,孩子们将模拟太阳系的运行,学习如何编程控制天体运动,通过交互功能让模型更生动。此资源对于提升儿童的创造力和问题解决能力具有积极jvzquC41dnuh0lxfp0tfv8|gkzooa<7473;378ftvkimg8igvcomu8663;?:6;=
2.Scratch编程:英雄联盟主题游戏项目实战1.2 Scratch的基本功能 Scratch提供了一系列基础功能,包括但不限于角色( sprites )创建和动画、场景( backgrounds )设计、事件驱动编程、循环和条件判断结构、以及音乐和声音效果的编辑。通过简单的拖放操作,用户可以控制角色移动、发声、变色以及更多复杂交互。 jvzquC41dnuh0lxfp0tfv8|gkzooa<:972=598ftvkimg8igvcomu86727855=9
3.Scratch编程启蒙与实践2.2.1 Scratch界面布局与功能区介绍 Scratch是一个专为儿童设计的图形化编程平台,它提供了一个直观的拖放界面,用户可以通过组合不同的代码块来创建故事、游戏、动画和艺术作品。Scratch的界面布局分为几个主要功能区:舞台区、代码区域、角色列表、声音列表和背景列表。 jvzquC41dnuh0lxfp0tfv8|gkzooa=7795=698ftvkimg8igvcomu866;7>64?8
4.Scratch少儿编程经典项目——跳动的音符源码与教学解析简介:《跳动的音符》是一款基于Scratch平台的儿童益智游戏编程项目,融合音乐与编程元素,适合编程入门学习。通过该项目,孩子可以掌握基础编程逻辑如条件判断、循环结构,提升逻辑思维与音乐感知能力。项目包含完整源码与素材,适用于Scratch及编程猫平台,帮助儿童在游戏化学习中掌握编程技能。 jvzquC41dnuh0lxfp0tfv8|gkzooa<68636898ftvkimg8igvcomu86734:4:@;
5.Scratch少儿编程嵌入式开发平台目前少儿编程正在世界的风口,越来越多的家长开始让孩子接触编程。本项目主要是基于AB32VG1开发板制作的一个Scratch少儿编程嵌入式下位机平台,旨在实现Arduino的替换。本项目可以方便的扩展成很多应用,以小车为模拟应用对象,进行演示开发。 主要功能如下: 1.以AT Command的方式与主机进行通信 2.Scratch目前只能以在线jvzquC41yy}/gujehctt0lto1rxplnhv15995A
6.少儿编程Scratch项目——打击网络恶魔源代码分析3. 编程元素包括:事件、控制、运动、外观、声音、侦测、运算符、变量和函数 在本章节中,我们将深入探讨Scratch编程工具中的基本编程元素,这些元素是构建任何项目的基础。通过对这些元素的详细介绍和应用分析,我们旨在帮助读者理解如何在项目中有效地使用它们,从而提高代码的可读性、可维护性和功能性。 jvzquC41dnuh0lxfp0tfv8|gkzooa<:2287378ftvkimg8igvcomu8664:?37@;