jjzjj

javascript - 合并两个 dataURI 以创建单个图像

我想生成由标签和图标组成的图像。标签部分会有很大差异(50-100),而图标大约有10个。我想通过将最终图像分成两部分(标签图像和图标图像)以模块化方式制作最终图像。我将构建一个返回标签dataURI的服务,而图标dataURI将嵌入到页面中。然后我想结合这两个不同的dataURI来创建一个代表组合图像的单一dataURI。我如何在客户端执行此操作? 最佳答案 您可以使用数据uri创建图像,然后使用canvas绘制包含它们的新图像。这是一个简单的例子:varnloaded=0;functioncheckload(event){nlo

javascript - Canvas 弧的 Agar.io 风格波纹效果

我真的很喜欢他们创造在线游戏agario的方式。我一直在想:“他们是如何为边缘创造这种涟漪效应的?”我能想到的有几点:1)边框由许多矢量点组成,因此允许灵活的边框动画。2)边框是预定义的gif动画。3)边缘周围有很多不可见的像素。它们围绕圆弧循环并激活其中的几组像素,因此产生了边界正在“收缩”和“缩回”的错觉。如何在HTML5canvas中完成这样的事情?您认为我的3个解决方案想法之一是否适用,还是比这更复杂? 最佳答案 您可以做的是围绕圆周重复绘制正弦波。得到绕圆任意Angular正弦波[x,y]点的方程为:varx=center

javascript - javascript 裁剪图像质量差 (croppie)

我正在尝试使用Croppie在将图像上传到服务器之前使用Javascript裁剪图像。它工作得很好,用户界面也很好。但是,在玩演示时,我注意到生成的图像质量比原始图像差得多-我使用的是1920x1080图像。有解决办法吗?我也会接受其他图书馆的推荐:) 最佳答案 如果您正在缩放或旋转图像,一些降级是预料之中的并且是不可避免的。但是,如果您只是从原始图像中裁剪一block......默认CroppieJS将以视口(viewport)大小保存裁剪后的图像。对于1920x1080的大图像,视口(viewport)尺寸(可能)小于原始图像尺

javascript - 将组件重新绘制为 PNG

我目前有一个Recharts组件,我想将其导出为PNG文件。(this.currentChart=chart)}width={this.state.width}height={this.state.height}data={this.testData}margin={{top:5,right:30,left:20,bottom:5}}>;但我不确定图书馆是否直接支持这一点。我有一个想法,涉及使用Canvas和2D渲染上下文让我接近解决方案,如MDN中所述。但是,我不确定将HTML元素(或React组件)呈现为Canvas以实现此解决方案的通用方法。我可能做错了这一切,我将不胜感激!

javascript - D3 : Zooming/Panning Line Graph in SVG is not working in Canvas

我使用SVG使用d3创建了zooming/panning图形。我正在尝试使用Canvas创建完全相同的图表。我的问题是,当涉及到Canvas图形的缩放和平移时,图形正在消失,我不知道为什么。我创建了两个JSBin来显示两者的代码。有人可以帮助我吗。SVG-JSBinCanvas-JSBin我的SVG缩放代码如下所示://ZoomComponentszoom=d3.zoom().scaleExtent([1,dayDiff*12]).translateExtent([[0,0],[width,height]]).extent([[0,0],[width,height]]).on("zoo

javascript - 我如何解决 'Property ' 宽度'在类型 'HTMLElement' 上不存在。'在 vscode 中使用//@ts-check 类型检查 Javascript(不是 Typescript)时?

在view.js文件中:constcanvas=document.getElementById('canvas');...export{canvas,};在main.js文件中:import*asviewfrom'../src/view.js';...xPosition:view.canvas.width/2,给我'属性'width'在类型'HTMLElement'上不存在。类型检查错误。我不知道如何进行,我对typescript的了解为零,而且程序是用javascript编写的。我读过的所有解决方案都需要使用typescript,这在这个例子中是没有用的。有什么办法可以消除这个错误吗

javascript - 有什么比$(document).ready()更靠谱的吗?

我有一个绘制简单弧线的实用程序,可以使用SVG或作为后备Canvas。(可以在我网站上的RaphaelArcsProject中找到早期版本。为了适应移动解决方案,我最近添加了代码来监视容器的大小,如果它发生变化,则重新绘制图像以适应新大小的容器。此添加仅使用包含DIV的大小;该代码将SVG或Canvas对象添加到DIV。然而,反复重新加载页面,有时即使$(document).ready显示DIV布局已就绪,DIV布局仍未就绪。这似乎在Chrome下最为普遍;我只在Opera上见过一次,在Firefox3.6上从未见过。包含的DIV的高度和宽度返回为零。如果您在Chrome中加载上面的链

javascript - 使用Canvas将不透明像素变成白色

我正在寻找一种方法来拍摄图像(Logo、应用程序图标等)并使用javascript/canvas将它们转换为白色(不包括透明度)。这是我想要的示例(显然使用静态图像):http://jsfiddle.net/4ubyj/ 最佳答案 CanvasAPI具有专门用于“仅在原始图像中不透明的像素上绘制”之类的合成方法。这比弄乱图像数据要容易得多。jsFiddle示例(现在带有内联图像)向@WilliamVanRensselaer最初的fiddle致敬。您想要的复合操作是source-in,这意味着“仅在绘制图像中不透明像素之上绘制我要绘制

javascript - 在 PaperJS 中缩放后重置形状大小的最有效方法是什么

我正在尝试在PaperJS中创建一个非常简单的类似灯塔的动画。这个想法是,一个圆圈开始时非常小且完全不透明,然后变得更大且更透明,直到它消失并且动画重新开始。我正在使用缩放使图像变大,但将其重置为原始大小变得有问题,目前我已经求助于克隆第二个圆圈来重置它,而不是只使用一个形状,必须是一种更简单的方法。到目前为止,我已经创建了一个jsFiddle来演示我的粗略代码,我们将不胜感激。http://jsfiddle.net/colethecoder/Y3S9n/1 最佳答案 Paperjs不存储原始路径,也不记得任何已应用到当前状态的操作

javascript - 在背景选项卡上运行 Canvas

我最近创建了一个HTML5Canvas动画(也使用Processing.js)。问题是当我将浏览器切换到不同的选项卡时,动画停止播放。当用户位于与包含动画的标签不同的标签时,如何让动画继续播放?例子:http://jsfiddle.net/EyFTr/3/如果您切换标签页,时钟会停止,但如果您打开一个新窗口的链接并模糊该窗口,时钟仍会移动。 最佳答案 简短的回答是你不能。https://developer.mozilla.org/en/DOM/window.setTimeoutIn(Firefox5.0/Thunderbird5.0