草庐IT

javascript - 在 HTML5 Canvas 上创建立体 3D 图像

我正在使用HTML5canvas对象创建一个简单的3D引擎。它运作良好,但我想实现红/蓝立体图像处理,这样人们就可以使用红/蓝眼镜真正看到3D。目前,我对3D对象进行了两次渲染,第二次是从紧挨着第一个相机位置的相机位置渲染的。我面临的问题是如何将渲染的两个对象组合成具有正确颜色的浮雕。现在我使用globalAlpha=0.5并将第一个渲染为红色,第二个渲染为蓝色。然而,这并不完全有效,因为仅受红色对象影响的像素应该保持红色,但由于我的背景颜色是黑色,它们会变成黑色和红色之间的颜色。在查看创建3D浮雕的应用程序时,我注意到红色和蓝色像素一起计算如下:2550000255---------

javascript - 有没有办法在 JS 中比较两种颜色,比如 'If Color A is darker than #202020'

我的一个页面的背景颜色是从用户设置为他们的Twitter背景颜色的背景颜色中提取的。我有一个带有黑色边框的圆框的页面。如果背景颜色很暗,边框看起来不太好,所以我想删除比任意十六进制颜色更暗的背景边框。我考虑这样做的方法是使用正则表达式提取3个RGB值并将它们相加,然后将其与我的引用颜色进行比较。有没有更好的方法来实现这一目标? 最佳答案 您可以编写一个在RGB和HSL或HSV之间转换的函数,并使用亮度或亮度值。维基百科有HSV->RGB转换的数学,但没有其他方法。http://en.wikipedia.org/wiki/HSL_an

javascript - canvas getImageData 方法是否依赖于机器/浏览器?

一位客户需要有关提取产品图片主色的程序的帮助。我能够用Javascript快速实现它;下面的算法仅对图像上3x3网格的中心方block进行采样,以快速估计图像中的T恤颜色。varimage=newImage();image.onload=function(){try{//getdominantcolorbysamplingthecentralsquareofa3x3gridonimagevardominantColor=getDominantColor();//outputcolor$("#output").html(dominantColor);}catch(e){$("#outpu

javascript - 使用 JavaScript 确定图像是灰度还是彩色?

是否可以使用JavaScript确定给定图像是灰度还是彩色? 最佳答案 将图像绘制到Canvas上遍历图像数据测试每个像素是否red-cannel==green-channel==blue-channel(所有颜色channel具有相同的值)如果所有像素都为真,则它是灰度,如果你击中第一个不符合条件的像素,你可以停止,它是彩色的。 关于javascript-使用JavaScript确定图像是灰度还是彩色?,我们在StackOverflow上找到一个类似的问题:

javascript - 获取带有渐变的colorbar中特定位置的颜色值

我使用CSS3样式(fiddle)生成了一个渐变颜色条,现在想要该颜色条中特定位置的颜色值(通过x和y坐标)。据我所知,没有直接的方法可以做到这一点。我看到两个选项:在JavaScript中实现梯度算法并从头开始计算值。是否有确切的定义该算法如何适用于多种颜色?渐变在每个浏览器中看起来都一样吗?使用canvas和createLinearGradient方法绘制渐变,直接访问Canvas获取颜色值。还有其他选择吗? 最佳答案 我选择实现您的第一个解决方案(使用JavaScript计算渐变)。这意味着您不需要依赖对canvas元素的支持

javascript - javascript中可区分的颜色生成

我想知道是否有一个简单的算法(或jQuery插件)来选择可区分的颜色,最多约20种不同的颜色。如果没有,我在哪里可以找到一组可以直接使用的可区分颜色?我的用例是为饼图生成不同的颜色。 最佳答案 我的想法是从HSV开始颜色模型并在具有最大饱和度和值的周边(色调)周围走动:functionhsvToRgb(h,s,v){//...seee.g.:http://snipplr.com/view/14590}functiondistinctColors(count){varcolors=[];for(hue=0;huedistinctCol

javascript - 如何使用 javascript 从图像中获取平均颜色或主颜色?

我想要的是从图像到另一个div背景这种颜色的HEX或RGB平均值。因此,如果我上传一张带有一点红色的图片,我会得到类似#FF0000的内容,例如。让我知道这是否可行:)非常感谢。 最佳答案 首先,在canvas上绘制图像:functiondraw(img){varcanvas=document.createElement("canvas");varc=canvas.getContext('2d');c.width=canvas.width=img.width;c.height=canvas.height=img.height;c.c

javascript - 使用 Javascript 更改文本颜色?

我想在单击按钮时更改标题的颜色。这是我的代码,但它不工作,我不明白为什么不...varabout;functioninit(){about=document.getElementById("about").innerHTML;about.style.color='blue';}AboutSnakelane 最佳答案 您为每个元素设置样式,而不是根据其内容设置样式:functioninit(){document.getElementById("about").style.color='blue';}使用innerHTML,您可以获取/

javascript - 在 javascript 中更改 RGB 颜色的色调

类似于this(如何增加亮度)我想改变RGB(十六进制)颜色的色调。说changeHue("#FF0000",40)返回"#FFAA00" 最佳答案 这是我找到的解决方案。我希望它可用,并且将来可能会有所帮助。非常欢迎任何改进或进一步的解决方案。改变色调//ChangestheRGB/HEXtemporarilytoaHSL-Value,modifiesthatvalue//andchangesitbacktoRGB/HEX.functionchangeHue(rgb,degree){varhsl=rgbToHSL(rgb);hsl

Javascript - 生成随机深色

我有这种方法可以为字体生成随机颜色:functiongetRandomRolor(){varletters='0123456789ABCDEF'.split('');varcolor='#';for(vari=0;i问题是字体总是在白色背景上,我想生成深色。可能吗?谢谢 最佳答案 如您所知,0,0,0处的RGB是最暗的黑色,它会逐渐变亮直到(255,255,255),因此您可以阻止它超过100,以仅获得深色或以十六进制表示9:HereisjsFiddlefunctiongetDarkColor(){varcolor='#';for(