使用 EaselJS 在 html5 画布中绘制一条线

2023-12-02

我对 Easel 和 HTML5 本身非常陌生。我正在尝试使用 EaselJS 在画布上画一条线。 X 坐标固定为 100,Y 坐标从数组列表中获取。我编写的代码如下。有人可以让我知道我哪里出错了吗?

function myFunction(attachPoint)
{
//Code for canvas creation is written here.[Not shown];
//created a stage.
stage = new createjs.Stage(canvas.domElement());
//3. create some shapes.MagnitudeLessThanTwo is the array where we get the YAxis Coordinates from
alert("The lenght before function is"+MagnitudeLessThanTwo.length);
myShape = new drawLineGraph(MagnitudeLessThanTwo);
//4. finally add that shape to the stage
stage.addChild(myShape);
//5. set up the ticker
if (!createjs.Ticker.hasEventListener("tick")) { 
createjs.Ticker.addEventListener("tick", ourTickFunction);
  };
};

function drawLineGraph(dataList)
{
this.index=0;//To keep the track of the index of the array from which we get the Y Axis.
var graphics = new createjs.Graphics();
graphics.setStrokeStyle(1);
graphics.beginStroke("white");
graphics.moveTo(50,(dataList[this.index].magnitude)*100); 
graphics.lineTo(50,(dataList[(this.index)++].magnitude)*100);
createjs.Shape.call(this,graphics);
this.tick = function() {
graphics.moveTo(100,(dataList[this.index].magnitude)*100); 
graphics.lineTo(100,(dataList[(this.index)++].magnitude)*100);
stage.addChild(graphics);
  };
};
drawLineGraph.prototype = new createjs.Shape(); //set prototype
drawLineGraph.prototype.constructor = drawLineGraph; //fix constructor pointer


I am getting the following Error.
"Object [object Object] has no method 'isVisible'"- This is inside the EaselJS Library.

这里有几个问题。您看到的错误是因为您将图形添加到舞台,而不是形状。

另一个问题是如何在刻度中修改图形:


this.tick = function() {
    graphics.moveTo(100,(dataList[this.index].magnitude)*100); 
    graphics.lineTo(100,(dataList[(this.index)++].magnitude)*100);
    stage.addChild(graphics);
};

您只需将您的形状添加到舞台一次,每次舞台更新时,它都会重新绘制您的图形。您的刻度调用会在每一帧添加新的图形指令,因此它将堆叠所有这些调用,并最终变得非常慢。

确保在向图形绘制新内容之前清除图形,除非您试图创建附加效果(如果是的话,也许可以考虑缓存/更新缓存以使其高性能)。查看 GitHub 存储库中的“curveTo”和“updateCache”示例以了解用法。

将形状而不是图形添加到舞台后,请随时发布一些后续问题,我可以尝试进一步提供帮助。

干杯:)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 EaselJS 在 html5 画布中绘制一条线 的相关文章

  • jquery 验证错误位置

    这看起来很简单 但我无法弄清楚 我正在使用 jquery 验证插件 我验证所有文件 但我想要的是在输入文本行中显示验证消息警报 例如在电子邮件输入中 请填写电子邮件地址 但现在它出现在所有字段下 在我的html中
  • 防止浮动换行,直到元素达到最小宽度

    我有可变宽度的 HTML 布局 内容左侧有一个固定宽度的菜单 div 可变宽度 由 css max width 和 min width 设置 对于非常窄的浏览器窗口 我希望内容包裹在菜单下方 我目前通过设置来实现这一点float left在
  • 使用 moment.js 检查输入日期是否为星期一

    好吧 我想检查日期是否是星期一 例如 var myDate new Date moment myDate DD MM YYYY dayIs monday 在我的国家 一周的第一天是星期一 所以 我真的想检查输入日期是否是一周的开始 我尝试使
  • 如何按照编写的顺序迭代 javascript 对象属性

    我发现了代码中的一个错误 我希望通过最少的重构工作来解决该错误 此错误发生在 Chrome 和 Opera 浏览器中 问题 var obj 23 AA 12 BB iterating through obj s properties for
  • 如何使用canvas.toDataURL()将画布保存为图像?

    我目前正在构建一个 HTML5 Web 应用程序 Phonegap 本机应用程序 我似乎不知道如何将画布保存为图像canvas toDataURL 有人可以帮我吗 这是代码 有什么问题吗 我的画布被命名为 canvasSignature J
  • 如何使用 jest 模拟第三方库

    我正在开发一个node js应用程序使用nestjs我有一堂课叫LoggerService如下 export class LoggerService private logger Rollbar constructor this logge
  • 检查 touchend 是否在拖动后出现

    我有一些代码可以更改表的类 在手机上 有时表格对于屏幕来说太宽 用户将拖动 滚动来查看内容 但是 当他们触摸并拖动表格时 每次拖动都会触发 touchend 如何测试触摸端是否是触摸拖动的结果 我尝试跟踪dragstart和dragend
  • jquery window.open 在 ajax 成功中被阻止

    尝试在我的 ajax 成功调用中打开一个新的浏览器窗口 但是 它被阻止为弹出窗口 我做了一些搜索 发现用户事件需要绑定到 window open 才能避免这种情况发生 我还找到了这个解决方案 您可以在 ajax 之前打开一个空白窗口 然后在
  • javascript中按tab键时如何调用函数?

    我有一个这样的功能 function whenEmpty field if field value field style backgroundColor ffcccc alert Please fill the field field f
  • 通过 node-http-proxy 保留基于 cookie 的会话

    我有一个简单的基于 Express 的 Node js Web 服务器 用于开发 JavaScript 应用程序 我将服务器设置为使用 node http proxy 来代理应用程序向在不同域和端口上运行的 Jetty 服务器发出的 API
  • Javascript - 将值从下拉框传递到 Google Maps API

    我正在使用 Google 地图 API 为一家出租车公司创建报价表 目前 用户在 2 个文本框中输入出发点和接载点 API 会计算两点之间的距离以及行程费用 我正在尝试添加两个具有设定位置的下拉框 以便用户可以选择这些位置之一或使用文本框输
  • 如何在 Angular 中从父组件访问子组件?

    I have mat paginator在子组件a中 如下所示 子组件 html
  • 将数组排序为第一个最小值、第一个最大值、第二个最小值、第二个最大值等

    编写一个JS程序 返回一个数组 其中第一个元素是第一个最小值 第二个元素是第一个最大值 依此类推 该程序包含一个函数 该函数接受一个参数 一个数组 该函数根据要求返回数组 输入示例 array 2 4 7 1 3 8 9 预期输出 1 9
  • JSTL 在循环中每 5 个字段集创建一个新行

    您好 我目前正在迭代并在表中显示字段集列表 为了让布局变得更得体一些 我想在每次循环到达第五个字段集时创建一个新行 谢谢 JSP div class det table class det tr td td tr table div
  • 悬停时为 SVG 制作动画

    我正在尝试在悬停时为 SVG 文件设置动画 默认情况下 它可以使用 svg 函数实现出色的动画效果 例如
  • 如果数字小于 10,则显示前导零 [重复]

    这个问题在这里已经有答案了 可能的重复 JavaScript 相当于 printf string format https stackoverflow com questions 610406 javascript equivalent t
  • 如何将函数内的捕获错误传递给父级

    我有这几行代码示例 想知道下面的逻辑到底如何 try var response child console log why here catch err console log should show this err function c
  • 如何在 Google 地图 V3 中创建编号地图标记?

    我正在制作一张上面有多个标记的地图 这些标记使用自定义图标 但我还想在顶部添加数字 我已经了解了如何使用旧版本的 API 来实现这一点 我怎样才能在V3中做到这一点 注意 当您将鼠标悬停在标记上时 标题 属性会创建一个工具提示 但我希望即使
  • 如何在 javascript 正则表达式中匹配平衡分隔符?

    我原以为这个问题是不可能的 据我所知 Javascript 的正则表达式既没有递归插值 也没有漂亮的 NET 平衡组功能 但问题就在那里 如问题 12 所示正则表达式 alf nu http regex alf nu 匹配平衡对 lt an
  • 在 Javascript 中减少/分组数组

    基于this https stackoverflow com a 40774906 3254598例如 我想以稍微不同的方式按对象进行分组 结果应该如下 key audi items make audi model r8 year 2012

随机推荐

  • 嵌入式redis无法启动-ERR不支持的CONFIG参数:notify-keyspace-events

    我使用的是embedded redis 0 6版本和spring session data redis 1 0 1 RELEASE 使用 mvn spring boot run 命令执行 spring boot 之后 tomcat 服务器启
  • AJAX + jQuery 变量不会传递给 PHP

    我正在尝试做一些非常简单的事情 将 2 个文本变量传递给 php 脚本并将它们插入到 MySQL 数据库中 然而 由于某种原因 我无法让变量传递 所以我只是在数据库中得到空记录 function ajaxCall ajax type GET
  • 循环遍历具有冒号分隔字符串的文件

    我有一个如下所示的文件 work week day england work1 week day sweden work2 week day 每次我循环遍历列表时 我都想将每个字符串作为我可以使用的变量 例如 如果我想知道我在哪个位置工作
  • C++ 指针算术怪异

    我发现了我的错误 几个小时后 并将其隔离在以下程序中 问题在于使用指向结构的指针时计算 pst2 变量值的方式 当使用指向 char 的指针时 一切正常 为什么是这样 使用gcc g 版本 Debian 4 4 5 8 4 4 5 对于那些
  • clang-format 使用指示符删除数组定义中的新行

    如果可能的话 我喜欢用指示符定义数组值 enum Mode NONE SPLIT FILES SINGLE FILE INVALID const std string ModeName NONE NONE SPLIT FILES SPLIT
  • 确定 HTML5 数据库内存使用情况

    我正在向我的 Google Chrome 扩展添加 sqlite 支持 以存储历史数据 创建数据库时 需要设置最大大小 我使用了5MB 正如许多示例中建议的那样 我想知道我实际使用了多少内存 例如添加 1000 条记录后 以了解何时达到 5
  • ASP.NET MVC 控制器生命周期

    据我了解 在每个 Web 请求期间不会调用控制器的构造函数 假设这是真的 那么控制器的生命周期是多少 是在应用程序启动时 构造 的 然后通过每个 Web 请求注入的请求上下文进行缓存和调用吗 需要明确的是 我并不是在问如何模拟构造函数行为
  • 使用 Symbolserver 调试 ASP.NET MVC4 的夜间构建

    我使用此描述为我的项目获取 ASP NET MVC 的夜间构建 http blogs msdn com b henrikn archive 2012 06 01 using nightly asp net web stack nuget p
  • Angular2:进度/加载覆盖指令

    我正在尝试在 Angular2 中创建一个加载指示器 覆盖层 我可以将其添加到任何容器 div 中 当动态布尔属性如isLoading更改时 它应该使 div 变灰并显示旋转指示器 并在属性更改回来后再次消失 我得到了一个可行的解决方案 C
  • python requests.get() 返回一个空字符串

    当我运行下面的代码时 它返回一个空字符串 url http www allflicks net wp content themes responsive processing processing us php draw 5 columns
  • 使用 pandoc 将 markdown 转换为 pdf 时如何强制将图像转换为文本

    我制造了一个GitHub 维基百科 软件包手册 我想将其转换为精美的 pdf 手册 然而 我在处理图表时遇到了一些麻烦 其中许多图表都放在接下来的一页中 远远落后于文本中应有的位置 这使得文档非常难以阅读 为此 我基本上遵循了建议here
  • 检查输入是否为整数

    为了学习 C 我正在翻译我用 Python 编写的程序 我写了这个 n 0 while n lt 2 try n int raw input Please insert an integer bigger than 1 except Val
  • Java:计算三角形的面积

    import java lang Math import java awt public class Triangle implements Shape java awt Point a java awt Point b java awt
  • 如何在邮件服务器上的 HTML 电子邮件中嵌入图像?

    如何在 HTML 中嵌入图像 以便图像与 html 文件内容一起传递 而不需要单独访问服务器来检索图像 我们需要它在签名离开邮件服务器之前将公司徽标嵌入到签名中 我们不想使用雷鸟或 Outlook 等客户端解决方案来添加签名 thanks
  • Google 身份服务 - 保持登录状态

    我正在从 Google 登录平台库迁移到新的 Google 身份服务使用一键登录 但当用户刷新或转到其他页面时 网站会自动注销用户 这是加载一键登录的每个页面上都存在的代码 div div 删除它只会让用户退出 无法重新登录 有一个cook
  • Google App Engine - 如何扩展 db.IntegerProperty

    当我在整数和字符串之间交换很多时 我希望扩展 db IntegerProperty 以下是一些代码片段和我在应用程序启动器日志中收到的错误消息 有什么指点吗 谢谢 大卫 class FSIdProperty db IntegerProper
  • 仅 CSS 动画绘制具有边框半径和透明背景的圆

    我正在尝试绘制一个具有边框半径的圆 并为其设置动画 我可以做到这一点 但我不能做的是覆盖元素并将圆圈背景设置为透明 而不取消隐藏蒙版 我无法使其在元素上透明 因为需要应用遮罩来隐藏圆圈的左半部分 因为它旋转以模仿绘制效果 HTML div
  • Android Studio 构建失败,并显示“在根项目 'MyProject' 中未找到任务 ''”。

    在更换笔记本电脑并更新到 Android Studio 版本 0 8 2 后尝试构建项目时 我收到此错误 失败 构建失败并出现异常 什么地方出了错 在根项目 MyProject 中找不到任务 尝试 运行 gradle 任务以获取可用任务的列
  • 远程网络驱动程序上的 Chrome(通过网格)无法启动

    我在使用 Grid 上的远程 Webdriver 功能 1 个 Linux 集线器和 1 个带有 Firefox 和 Chrome 的 Linux 节点 启动 Chrome 的 Cucumber 测试时遇到问题 Firefox 测试进行得很
  • 使用 EaselJS 在 html5 画布中绘制一条线

    我对 Easel 和 HTML5 本身非常陌生 我正在尝试使用 EaselJS 在画布上画一条线 X 坐标固定为 100 Y 坐标从数组列表中获取 我编写的代码如下 有人可以让我知道我哪里出错了吗 function myFunction a