我已经考虑了一段时间了,所以现在我想知道你的意见,可能的解决方案等等.
我正在寻找一种插件或技术来改变文本的颜色或在预定义的图像/图标之间切换,具体取决于它的父母的背景图像或颜色的覆盖像素的平均亮度.
如果其背景的覆盖区域相当暗,请将文本设为白色或切换图标.
另外,如果父脚本没有定义背景颜色或-image,然后继续搜索最接近的(从父元素到它的父元素......)脚本会发现它会很棒.
您怎么看,知道这个想法?那里有类似的东西吗?脚本的例子吗?
干杯,J.
问题是:
给定具有x和y坐标的N个点(在2D中),找到点P(在N个给定点中),使得从其他(N-1)个点到P的距离之和最小.
这一点通常称为几何中位数.有没有有效的算法来解决这个问题,除了天真的算法O(N^2)
?
我正在研究一个节点模块,它将返回最适合背景图像的颜色,当然这将有多种颜色.
这是我到目前为止所拥有的:
'use strict';
var randomcolor = require('randomcolor');
var tinycolor = require('tinycolor2');
module.exports = function(colors, tries) {
var topColor, data = {};
if (typeof colors == 'string') { colors = [colors]; }
if (!tries) { tries = 10000; }
for (var t = 0; t < tries; t++) {
var score = 0, color = randomcolor(); //tinycolor.random();
for (var i = 0; i < colors.length; i++) {
score += tinycolor.readability(colors[i], color);
}
data[color] = (score / colors.length);
if (!topColor || …
Run Code Online (Sandbox Code Playgroud) 我想要的是HEX或RGB平均值从图像到另一个div背景这种颜色.
因此,如果我上传一张带有红色的图像,我会得到像#FF0000这样的例子.
让我知道这是否可行:)
非常感谢.
是否可以使用JavaScript确定给定图像是灰度还是彩色?
读者注意事项:这是一个很长的问题,但它需要一个背景来理解问题.
该颜色量化技术通常用于获取主色的图像.其中一个着名的色彩量化库是Leptonica通过修改的中值切割量化(MMCQ)和八叉树量化(OQ) Github的Color-thief by @lokesh是一个非常简单的MMCQ算法JavaScript实现:
var colorThief = new ColorThief();
colorThief.getColor(sourceImage);
Run Code Online (Sandbox Code Playgroud)
从技术上讲,<img/>
HTML元素上的图像支持在一个<canvas/>
元素上:
var CanvasImage = function (image) {
this.canvas = document.createElement('canvas');
this.context = this.canvas.getContext('2d');
document.body.appendChild(this.canvas);
this.width = this.canvas.width = image.width;
this.height = this.canvas.height = image.height;
this.context.drawImage(image, 0, 0, this.width, this.height);
};
Run Code Online (Sandbox Code Playgroud)
TVML
正如我们稍后将看到的那样,这就是问题所在.
我最近发现的另一个实现与本文相关联使用imagemagick,awk和kmeans来查找链接到使用python生成令人敬畏的linux桌面主题的图像中的主色.作者发表了一篇关于使用python和k-means来查找在那里使用的图像中的主色的文章(抱歉所有这些链接,但我正在追溯我的历史......).
作者非常高效,并添加了一个我在这里发布的JavaScript版本:使用JavaScript和k-means来查找图像中的主色
在这种情况下,我们正在生成图像的主色,而不是使用MMCQ(或OQ)算法,而是使用K-Means.问题是图像必须是一个:
<canvas id="canvas" style="display: none;" width="200" height="200"></canvas>
Run Code Online (Sandbox Code Playgroud)
然后
function …
Run Code Online (Sandbox Code Playgroud) 我正在寻找一种方法,根据名为“banner”的 div 中背景图像的主要颜色,将文本颜色更改为 #000 或 #fff。每个页面上的背景图像都是随机选择的,因此我需要能够自动执行此操作。我遇到了JavaScript 颜色对比器,但我很难理解如何正确使用它。我注意到我发布的链接在 javascript 中提供了一个解决方案,我还阅读了 jquery 中的一个可能的解决方案。
我对函数一无所知,所以如果有人能清楚地解释我如何实现这一点,我在哪里放置函数以及我如何“调用它们”(如果这是正确的术语!)来使用它,我将非常感激。
谢谢你的帮助。
我成功地将 webcam.js 与 Angular 应用程序一起使用,以允许用户捕获自己的照片。但是,我遇到了一些用户上传空白 - 全白或全黑照片的问题。我怀疑某些相机的启动速度比其他相机慢,这使得用户可以在相机真正工作之前拍摄自己的空白照片。
我希望能够检测到相机何时实际打开并进行流式传输,这样我就可以等到那时才使“拍照”按钮可用。通常,在完成允许摄像头的安全步骤后,当摄像头打开或正在加载源或发生任何情况时,视频元素会空白半秒。在我的电脑上,如果我移动得很快,我只需在视频流加载之前点击拍照按钮,它就会拍摄一张显示为全黑的照片。我猜测在某些计算机上,半秒可能会更长,可能足以让人们在屏幕上看到自己之前尝试拍照。
我们还尝试通过一些更好的用户体验来解决这个问题,但如果有一种方法可以防止人们在相机准备好之前拍照,那就太好了。到目前为止,我还没有找到任何有关检测相机何时打开的信息,但考虑过检测已拍摄照片的主色的可能性,以及如果全黑或全白,则告诉用户再次拍摄,使用这样的东西:通过Javascript获取图像的平均颜色。显然,如果我们可以等待显示拍照按钮,那么让用户经历该循环并不理想。
先感谢您!
我不知道这是否真的可行,但如果是的话会很好!从新的iTunes中获取灵感,其中背景颜色似乎是通过艺术品图像的(主要)颜色设置的.我正在寻找类似javascript/cs的东西,可能使用jQuery,基本上根据里面的图像改变div的背景颜色.
是否可以box-shadow
根据应用到的图像中的颜色调整其颜色值?
如果您查看abduzeedo 的站点,您会注意到这些图像都有独特的box-shadow
颜色,通常与其父图像相关(如下图所示)。
我确实注意到 CSS 被直接插入到 HTML 中,这对我说这是通过脚本完成的,但是如何呢?这些颜色实际上是从他们的图像中提取的还是任意/手动生成的?
我试过在谷歌上搜索这个,但我运气不佳。我不是要一个教程,主要是它叫什么,如何找到它,或者是否可以动态地而不是随机或手动地完成它。