Excanvas.js允许IE使用canvas标记,但不支持getImageData方法.
是否有任何方法可以获得IE中指定像素的值(img或VML或其他任何方式来自服务器的位图都可以在IE中显示)?我假设没有.
我正试图摆脱服务器命中以提高Ajax应用程序的响应能力,但如果没有办法从IE中哄骗信息,我可能只能用于FF,Chrome,Opera和Safari.
我把头发撕掉了!我得到了这个工作,认为'我能负担不起保存这个版本',然后我打破了'构建'.
该线myImageData = context.getImageData(0, 0, canvas.width, canvas.height);似乎打破了这一点,因为警报将在之前发挥作用,但不会发生.
图像本身正在加载.
任何和所有的建议都欢迎^ _ ^我正处于系绳的尽头,并且很快就会让RSI开始自杀.
var myImageData;
var image_var = new Image();
image_var.onload = function () {
canvas.width = image_var.width;
canvas.height = image_var.height;
context.drawImage(image_var, 0, 0, image_var.width, image_var.height);
myImageData = context.getImageData(0, 0, canvas.width, canvas.height);
alert('');
}
image_var.src = "example1.jpeg";
Run Code Online (Sandbox Code Playgroud) 亲爱的社区你好.
我正在尝试从Flickr提取的图像中创建提取颜色.当我尝试使用getImageData()在canvas中处理图像时,这一切都非常有效.
如通过WHATWG将图像加载到画布中所描述的那样设置一个标志,这样你就无法操纵它.所以我的问题是FLICKR支持CORS吗?
<script type="text/javascript">
var img= new Image;
var canvas = document.getElementById('canvas');
var ctx = canvas.getContext('2d');
var src = "fetched-flickr-image-url";
img.crossOrigin = "Anonymous";
img.src = src;
img.onload = function() {
ctx.drawImage( img, 0, 0 );
var image_data = ctx.getImageData(0, 0, 100, 100);//Throw the Security error
}
});
</script>
Run Code Online (Sandbox Code Playgroud)
我也试图进行图像处理,但这是一个非常繁重的过程(大约需要4分钟来处理250张图像).
如果你有任何线索只是ping我.
环境:Mac OSX,HTML5,jQuery
我刚开始使用HTML5,我有一个绘图程序,用户可以通过单击鼠标按钮并像笔一样拖动光标来填充画布.我希望能够弄清楚当前用笔填充的画布百分比.我怎么能这样做?这是我目前在Gist上的代码谢谢!
将某种颜色设置为fillStyle画布并绘制矩形后fillRect,矩形的颜色有时会与提供的颜色getImageData略有不同(返回不同的值 - 通常其中一个值低1).它似乎只发生在使用rgba颜色时(而不是使用颜色rgb),但实际上我确实需要使用alpha通道.
对于想要研究这个问题的人,我为js小提琴制作了一个简单的测试套件:http: //jsfiddle.net/LaPdP/1/
关于为什么会发生这种情况的任何想法,以及是否有任何方法可以解决这个问题?如果它至少总是发生在相同的值上,那么我只是通过将它增加1来绕过它,但对我来说它似乎很随机.
我正在做一个Web应用程序,在该应用程序中,我从IP摄像机提取图像,并且我需要能够查看停车场是否有汽车。我想使用某种形状检测来做到这一点,但我似乎只能找到来自c ++和基本形状(例如正方形)的面部检测端口。有人可以指出我正确的方向,以便我自己进行形状检测吗?
现在,我正在绘制蓝色框,并获取x,y,h,w的图像数据,并查看是否可以得到除停车场0xFFFFFF之外的其他颜色,但夜间它不起作用,因此会倾斜人类行走。
任何帮助,将不胜感激..
function drawgrid(){
context.drawImage(img, 0, 0);
localStorage.setItem( "savedImageData", canvas.toDataURL("image/png") );
context.beginPath();
context.rect(308, 240, 250, 100);
context.lineWidth = 2;
context.strokeStyle = 'blue';
context.stroke();
var dataURL = canvas.toDataURL();
}
Run Code Online (Sandbox Code Playgroud)
这是抓取图像数据,将其保存到本地存储,然后在其中遍历每个像素,但是我认为这不是正确的处理方法。
我在HTML5画布上绘制图像,图像的源是SVG字符串.然后我得到了画布的ImageImage,这在Firefox和Chrome中运行良好,但在IE11中会调用安全性错误.
我写了一个简单的测试页来重现我的问题.
<!DOCTYPE html>
<html>
<body>
<p>
Click to run the function
<button type="button" onclick="myFunction()">run</button>
</p>
<canvas id="myCanvas" width="300" height="150" style="border: 1px solid #d3d3d3;">Your browser does not support the HTML5 canvas tag.</canvas>
<script>
var c = document.getElementById("myCanvas");
var ctx = c.getContext("2d");
var svgString = "<svg stroke='black' width='50' height='50' xmlns='http://www.w3.org/2000/svg'><ellipse class='black' rx='29%' ry='29%' cy='50%' cx='50%' fill='transparent'/><svg width='100%' height='100%' viewBox='0 0 50 50' preserveAspectRatio='none' ><text class='blue' text-anchor='middle' font-size='24' y='33' x='25'>9</text></svg></svg>";
var img = new Image();
img.onload = function () {
ctx.drawImage(img, 0, …Run Code Online (Sandbox Code Playgroud) 我试图在HTML5中感受一些图像处理.我发现当我尝试使用getImageData方法时,我会抛出这个JS异常.我正在使用Chrome并在localhost上运行.
谢谢!
需要做一些像素操作,但imagedata已经改变.现在它有一个"colorspace"属性.这是什么,我如何正常使用它?
只需获取chrome中的imagedata对象即可重现.
我使用html5画布进行渲染和图像处理,对图像进行一些基本的编辑,而不是尝试使用getImageData(0函数来读取像素并做一些工作.我注意到了,无论源图像的深度是多少是(8位,16位,24位)getImageData()方法允许返回8位(256色).这是不可取的.我想getImageData(0方法吐出尽可能多的颜色.
我已经阅读了文档,画布应该能够处理你抛出的任何深度(比喻)但我无法看到任何地方设置更高的位深度
getimagedata ×10
canvas ×7
javascript ×6
html5 ×3
html5-canvas ×2
8-bit ×1
cors ×1
domexception ×1
drawing ×1
flickr ×1
image ×1
pixel ×1
putimagedata ×1
svg ×1
vml ×1