使用JavaScript从外部图像获取颜色
Getting color from external image using JavaScript
所以,我试过在很多地方查找这个,但还没有找到适合我的情况的答案。
我所拥有的是一个循环,一年中的每一天,每天每一个小时都在循环,用许多疯狂荒谬的数学方程,得到太阳在特定位置的角度和距离。
方程的结果给了我一个数字,我将其用作x值,以获得图像在该点的像素颜色。图像是一个梯度:当x=0时;没有阳光,当x=(1/2)imageWidth时;日出/日落,当x=imageWidth时;阳光充足。
我在Processing中使用了此代码。虽然我很想只使用Processing.js,但我不能用于这个项目。我正在尝试用D3和Moment库来构建这个。
切中要害:
我需要弄清楚如何从外部(不可见)图像的像素中提取颜色,使用我从方程中获得的值作为图像的x值。
我有我需要的价值。我只需要帮助如何获得在图像的特定x位置不可见的图像像素的颜色。然后我将使用该颜色作为圆的填充颜色。
我意识到这可能不是一个理想的措辞。用JavaScript编写荒谬的数学方程,然后问关于获取外部图像像素颜色值的问题,这有点困难。但是,我希望有人能帮助我!
编辑:这一切都将以网页的形式结束。
有两种方法可以做到这一点-在Javascript和.Net 中
使用Javascript,在画布中绘制图像,然后使用getImageData()方法:
var img = new Image();
img.src = 'image.jpg';
var context = document.getElementById('canvas').getContext('2d');
context.drawImage(img, 0, 0);
data = context.getImageData(x, y, 1, 1).data;
http://msdn.microsoft.com/en-us/library/ie/ff975418(v=vs.85).aspx
.Net中还有一个有用的方法,称为Bitmap.GetPixel方法。如果您有权访问.Net,则可能值得编写或调用可执行文件来运行此方法并将值存储在表中,作为一个单独的进程,例如控制台ap或调用直接传递环境变量的exe。如果.Net不可能,我深表歉意,因为我知道这是对您问题的间接回答。
http://msdn.microsoft.com/en-us/library/system.drawing.bitmap.getpixel(v=vs.110).aspx
在system.drawing名称空间中,可以声明一种颜色,然后比较该颜色以查看它是否为图像中的颜色。
public Color GetPixel(
int x,
int y
)
private void GetPixel_Example(PaintEventArgs e)
{
// Color to compare
Color compareColor = Color.Blue;
// Create a Bitmap object from an image file.
Bitmap myBitmap = new Bitmap("YourImage.jpg");
// Get the color of a pixel within myBitmap.
Color pixelColor = myBitmap.GetPixel(50, 50);
If(pixelColor == compareColor)
{
//do something
}
}
- 获取图像的平均外部像素颜色
- Javascript Canvas使用getImageData(x,y,1,1).data获取颜色
- 在自定义坐标处获取RaphaelJS元素的颜色填充
- 获取脚本中CSS颜色属性的实际值
- Html获取Rgb中的颜色
- 如何从CSS中获取颜色的值
- 画布-在多个画布叠加中获取像素颜色
- 如何使用esri和javascript从标记符号中获取颜色
- PHP - 获取颜色输入值
- 从 Javascript 中的 rgb 字符串中获取颜色组件
- 如何从来自不同域或服务器的图像中获取颜色
- 光谱颜色选取器获取颜色的值
- 如何在Internet Explorer中获取颜色选择器
- Indesign 从所选对象获取颜色
- 使用JavaScript从外部图像获取颜色
- KineticJS如何从图层中获取颜色(从图层中选取颜色)
- 在javascript中获取颜色显示配置文件
- 从颜色词中获取颜色代码
- Javascript函数从RGB值或十六进制值中获取颜色名称
- 如何在React Native中从屏幕上的像素中获取颜色