首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

DIY.JS 开发文档, 一款专用于DIY定制的Canvas图形库

假设指定图形的宽度为 50%,DIY区域宽度为 200px,Canvas宽度为500px; 设置参照DIY区域,则图形的实际宽度为 100px; 设置参照Canvas,则图形的实际宽度为250px; 4...); // y坐标 cosnole.log(active.w); // w宽度 cosnole.log(active.h); // x高度 用法 下面介绍一些基础用法,方便快速上手: 1.创建DIY面板...: {}): { elem: HTMLCanvasElement, context: CanvasRenderingContext2D } w,Canvas的宽度 h,Canvas的高度 param,...: any): void; type,事件类型 event,可选参数,传递给事件监听器的事件对象 on 绑定事件 on(type: string, callback: (event?...,要设置的属性值 each 属性绑定 each(config: object): void; config,包含要绑定的属性的对象

18710

三、界面介绍(IVX快速手册)

文章目录 三、集成开发环境界面介绍 3.1 界面区域 3.2 舞台 3.3 组件工具栏 3.4 对象树/素材面板 3.5 属性面板 3.6 菜单面板 3.7 逻辑工具面板 3.8 辅助工具 ---- 3.1...界面区域 在线集成开发环境 界面分为以下几个区域: 舞台 组件工具栏 对象树/素材面板 素材面板 属性面板 菜单栏 逻辑工具栏 辅助工具 以下将创建一个默认设置的 WebApp 对 在线集成开发环境...3.2 舞台 创建一个默认设置的 WebApp 应用后,在出现的窗口中间的白色区域即为舞台: 在 舞台 中可以编辑当前应用的 UI 界面,该舞台与 Photoshop 等主流图像处理软件中的 “画布”...3.5 属性面板 当我们通过 对象树 或 舞台 任意点选一个对象时,可以看到组件栏右侧将对应显示该对象的属性面板: 一般情况下对象拥有多种属性,比如表示位置信息的 X 与 Y 坐标、尺寸属性宽度与高度等...、自定义函数、动作组、服务等交互逻辑功能: 3.8 辅助工具 当我们在使用中遇到任何问题时,都可以通过查看文档、教学视频或直接求助于客服来解答疑问: 客服系统可通过右下角的帮助按钮进行访问:

1.3K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    如何在canvas中模拟css的背景图片样式

    基本框架和工具方法 核心逻辑就是加载图片,然后使用drawImage方法绘制图片,无非是根据各种css的属性和值来计算drawImage的参数,所以可以写出下面的函数基本框架: const drawBackgroundImageToCanvas...background-size 属性用于设置背景图片的大小,可以接受四种类型的值,依次来模拟一下。 length类型 设置背景图片的高度和宽度。第一个值设置宽度,第二个值设置高度。...第一个值设置宽度百分比,第二个值设置的高度百分比。如果只给出一个值,第二个默认为auto(自动)。比如设置了50% 80%,意思是将图片缩放到背景区域的50%宽度和80%高度。...canvas的宽高比判断,到底是缩放图片的宽度和canvas的宽度一致,还是缩放图片的高度和canvas的高度一致。...,作为后续循环的x、y的初始值即可。

    7.1K41

    鸿蒙应用开发从入门到入行 - 篇5:组件化开发思想开发鸿蒙案例(详解父子组件传值)

    :默认情况下,value为0,total为100当Progress的宽度大于或等于高度时水平显示(如上图)当Progress的宽度小于高度时(不包含等于,必须小于高度)垂直显示(如下图)type参数用法...显示标题,一个Stack放层叠布局(里面再放Progress与Text,具体后面说)记得给Row宽度、高度与背景色、Text要加粗、内容居中等基于此,代码如下@Componentexport struct...,index即为当前数据对应的下标(都是changeStatus需要用到的内容)注意看:这里我没有直接把this.changeStatus 这个方法传递给onChange,而是声明了一个新的箭头函数,只不过在箭头函数里的函数体里调用了...但如果你是直接把this.changeStatus传递给onChange,那它相当于是在todoItem里调用,同样的this也会变成todoItem上下文,此时它是没有todoList数组的,所以这里利用箭头函数保留当前上下文的特点...鸿蒙零基础的同学,一定要好好的跟着敲本案例代码才能理解课后练习判断题一个Progress的宽度是100,高度是150,此时环形图一定是垂直方向的线性样式滚动条互动简答题思考:本案例中,最终TodoItem

    18410

    Python 自动化指南(繁琐工作自动化)第二版:十九、处理图像

    属性包含了一个以像素为单位的图像宽度和高度的元组 ➊。...这种调整大小保持宽度和高度的比例不变。但是传递给resize()的新宽度和高度不必与原始图像成比例。...这意味着代码需要执行以下操作: 打开catlogo.png文件作为Image对象。 循环从os.listdir('.')返回的字符串。 从size属性中获取图像的宽度和高度。...当一个图像被加载到一个Image对象中时,它的宽度和高度大小作为一个双整数元组存储在size属性中。...还有,照片是大图;照片文件的宽度和高度都必须大于 500 像素。这是一个安全的赌注,因为大多数数码相机照片的宽度和高度都是几千像素。 作为提示,下面是这个程序的大概框架: #!

    2.5K50

    【Android 内存优化】自定义组件长图组件 ( 长图滚动区域解码 | 手势识别 GestureDetector | 滑动计算类 Scroller | 代码示例 )

    0 , 对应的图片也向下滑动 , 解码区域的 top 和 bottom 增加 ; ③ 解码区域限制 : 解码的最底部不能超过图片高度 , 解码的最顶部不能小于 0 ; 分别针对这两种情况进行各种限制...; * View 组件使用该构造方法 , 从布局中加载时 , 允许使用一个特定风格 ; * 如 : 按钮类的构造函数会传入 defStyleAttr = R.attr.buttonStyle..., 或风格资源 ; * 该构造方法允许组件在加载时使用自己的风格 ; * * 属性设置优先级 ( 优先级从高到低 ) * 1...., 与组件的高度宽度比例一致 mViewWidth / 加载的图像宽度 = mViewHeight / 加载的图像高度 此处加载的图像宽度就是实际的宽度...加载的图像高度 = mViewHeight / ( mViewWidth / 加载的图像宽度 ) mViewWidth / 加载的图像宽度

    1.6K22

    手把手带你上手D3.js数据可视化系列(二)手把手带你上手D3.js数据可视化系列(二)

    ;另外 colors 颜色数组不变,绘制矩形时仍会通过取余数的方式来取对应颜色,以后也会介绍颜色比例尺,将类别属性进行映射到对应颜色,到时候再说。...画布设置好后,先来整体看看大西洋手抄本可视化作品源码里是如何根据画布大小和数据多少计算每个矩形的宽度 rectWidth 的,由于矩形高度均是宽度的1.5倍,所以无需另外计算。...rectWidth + totalMargin,整体高度是 1.5 * rectWidth + totalMargin(上面说过矩形实际高度总是宽度的1.5倍)。...而且后面实际绘制矩形时,就会发现确实是矩形实际高度为实际宽度的1.5倍,而不是整体高度为整体宽度的1.5倍,所以可知这里是近似后,应该就是为了简化计算。...小结 文章也不短了,作为本系列的第二篇文章,古柳简单分享了下优秀可视化作品源码里涉及的基于数据集大小和画布大小来自动布局的方法。

    3.1K10

    Flutter布局指南之深入理解BoxConstraints

    这4个宽度和高度属性可以有从0到double.infinity的任何数值。double.infinity这个值意味着Widget可以有无限的尺寸。 你可能会遇到有界和无界约束这两个术语。...❝BoxConstraints.tightFor( {double width, double height} ) ❞ 你可以使用这个构造函数并传递宽度或高度来分别设置Tight宽度或Tight高度,或者同时传递宽度和高度来设置两者的...这个构造函数有一个变种,叫做BoxConstraints.tightForFinite()。只有当你没有传递无限大的宽度或高度时,才会设置Tight约束。...❝BoxConstraints.loose( Size size ) ❞ 这个构造函数设置了Loose约束,最小宽度和最小高度为0,最大宽度和最大高度为size对象所提供的,也就是说,一个Widget可以在...❝BoxConstraints.expand() ❞ 对传递给它的宽度或高度设置Tight约束,并对未传递给构造函数的宽度或高度参数设置Unbounded约束,即double.infinity。

    2.1K20

    三种React代码复用技术

    高阶组件 如果要使用高阶组件的形式复用代码逻辑,就需要写一个函数,这个函数接收 React 组件作为参数,然后再返回一个新的 React 组件。...假设我们使用 App 时也可能给它传一个 data 属性: function Xxx(){ return } 这个时候,Xxx 组件传入的 data 属性将会失效...使用 render-props 解决了高阶组件的不足,使用 组件 + render 回调的方式避免的 props 的属性值覆盖问题。...Fetch 组件把 state 的数据传递给了 render 函数,这会让 App 组件在其它地方很难使用到 render 函数中的数据(或者说只能在 render 函数中使用数据),比如 useEffect...useWinSize 假如我们想要获取到文档可视区域的宽高,当窗口大小发生改变时也要获取到准确的宽度、高度数据,就可以自定义一个 Hook 来完成这个任务。

    2.4K10

    金九银十,为期2周的前端面经汇总(初级前端)

    Infinity 作为深度,展开任意深度的嵌套数组 arr3.flat(Infinity); // [1, 2, 3, 4, 5, 6] flatmap:方法首先使用映射函数映射...解决:存入本地缓存 vue的传值方式 父组件向子组件传值 父组件通过属性的方式向子组件传值,子组件通过props来接受。 子组件接受的父组件的值分为引用数据类型和普通数据类型两种。...子组件向父组件传值 子组件绑定一事件,并通过$emit来触发这个事件 兄弟组件传值 通过eventbus进行兄弟组件通讯, emit 触发事件函数, on 监听回调,回调函数接收所有触发事件时传入的参数...枚举:用于取值被限定在一定范围内的场景 Mixin:可以接受任意类型的值 泛型编程:写代码时使用一些以后才指定的类型 名字空间:名字只在该区域内有效,其他区域可重复使用该名字而不冲突 元组:元组合并了不同类型的对象...类型进行赋值 interface 能够声明合并 TS泛型 泛型允许我们在强类型程序设计语言中编写代码时使用一些以后才指定的类型,在实例化时作为参数指明这些类型 在typescript中,定义函数,接口或者类的时候

    3K20

    前端系列第3集-如何理解css盒子型?

    盒子的总宽度和高度等于内容区域的宽度和高度加上内边距、边框和外边距的宽度和高度。...默认值是 content-box,表示盒子的宽度和高度只包括内容区域,不包括内边距、边框和外边距。而 border-box 表示盒子的宽度和高度包括内容区域、内边距、边框和外边距。...CSS盒子模型计算盒子宽度和高度时,默认情况下是包括了所有这些部分的大小。可以通过box-sizing属性来改变盒子的盒模型,让它只包括内容区域和内边距的大小,或者只包括内容区域的大小。...可以使用CSS的padding-top属性来实现一个固定宽度的自适应高度的盒子。...可以使用CSS的blur函数和filter属性来实现一个模糊效果。

    25410

    DOM 和 BOM 中的各种宽高属性

    原生 JavaScript 1.与 window 相关的宽高 1.1 与窗口相关 window.innerHeight/window.innerWidth: 返回表示窗口的内部高度/宽度的数字。...不包括开发者工具、顶部栏、侧边栏、滚动条、边框等不由 HTML 控制的部分 window.outerHeight/window.outerWidth: 返回表示窗口的外部高度/宽度的数字。...window.screen.availHeight/window.screen.availWidth: 返回表示屏幕的可用宽度/可用高度的数字。不包括可能位于任意一侧的任务栏。...窗口无滚动条时,该属性与 ev.clientX/ev.clientY 等价;窗口出现滚动条时,该属性的值将更大,因为它针对的是整个页面,即包含已滚动的区域。...image.png jQuery width()/height(): 无参时返回元素的 content 的宽度/高度,传参时(数字或者函数)设置元素的 content 的宽度/高度。

    1.9K10

    【带着canvas去流浪(12)】用Three.js制作简易的MARVEL片头动画(上)

    二.基本思路 简易片头动画的实现思路如下,除了正常的舞台元素外,需要背景音乐,使用THREE.AudioLoader就可以从后后台加载音乐,舞台中主要的实体元素是MARVEL这几个字母的立体模型,可以使用...为了熟悉更多特性,笔者自己在实现中使用正交相机,通过调整正交相机的视场宽度来模拟镜头后退动画(在透视相机下可以直接调整相机的Z轴坐标实现类似的效果),然后通过设置几何体的位移和旋转来模拟镜头的移动。...当你构建一个立方体时,会发现它的faces属性数组中有12个面的信息,因为Three.js中默认使用三角面片来构建几何体,一个矩形表面需要用两个三角面片来构建,(你可以将立方体材料material中传入...由于默认面是三角面,所以我们通过实例化3个THREE.Vector2(x,y)对象来表示从素材中截取的三角形区域,得到了素材后要如何将它与三角面的顶点坐标对应起来呢?...let uvs = geometry.faceVertexUvs[0]; //背面 //生成网格时材料可以传数组,materialIndex可以为不同面指定不同的材质,本例中对应不同的视频片段

    3.1K51

    《前端面试加分项目》系列 企业级Vue瀑布流

    是比较流行的一种网站页面布局,视觉表现为宽度相等高度不定的元素组成的参差不齐的多栏布局,随着页面向下滚动,新的元素附加到最短的一列而不断向下加载。...技术选型 我们采用Vue框架来实现瀑布流,其一些自带属性使我们的瀑布流实现更加简单。 通过ref可以很方便的获取每列高度。通过比较算法算出高度最小列。...非瀑布流内容如何插入 通过Vue的具名插槽(slot),将非瀑布流元素作为父组件的内容传递给瀑布流子组件。...父组件通过HTML模板上的槽属性关联具名插槽,非瀑布流内容作为具名插槽的内容提供给子组件。...何时渲染 选择渲染的区域为滚动高度+可视区域高度的1.5倍,即可以防止用户滚动到底部的时候白屏,也可以防止渲染过多影响用户体验。

    1K00

    【带着canvas去流浪(13)】用Three.js制作简易的MARVEL片头动画(下)

    模型的制作 1.1 生成字体模型 字体模型的生成使用到了THREE.TextGeometry,它需要先加载字体文件,然后在回调函数中生成字体模型,相当于在THREE.ShapeGeometry实例上绘制平面图形...,通过将x,y,z三个方向都偏移包围盒自身尺寸的一半,从而达到将定位参考点移动到立方体的几何中心的目的,tempPos记录上一个几何体总宽度,作为下一个几何体横向(x方向)的偏移参考,这样就可以保证几何体横向错开...关于这两种相机的使用,直观的区别是: 使用透视相机就好比使用者在调节一个真实摄像机的参数来改变出现在镜头中的画面的效果,可以说是一种间接确定拍摄范围,且它的视场是一个锥形区域;而正交相机相当于是直接设定拍摄范围的长宽高...通过传入左右上下远近6个参数来确定一个矩形盒子作为舞台区域,在舞台内的就可以显示,不在舞台内的就不显示,比如下面示例中如果绕y轴转动字体模型,就会有一部分超出所设定的舞台区域: [](https://img2018...(透视相机则不同,和真实效果更类似,离得越远,看到的物体越小),所以调节正交相机position.z通常是达不到预期效果的,只能更新相机参数的上下左右坐标值改变投影面的大小,也就是正交相机舞台的正投影面区域

    1.2K31
    领券