有没有办法在不使用 canvas 的情况下实现图像颜色选择 javascript?
Is there a way to implement an image color picking javascript without the use of canvas?
我正在实施一种放大图像的方法,该图像现在正在放大显示为另一个 img 元素的背景图像。这部分按预期工作,我可以四处移动鼠标,将焦点放在我需要的地方,单击并排序 snap/capture 此区域的图片(缩放为另一个容器图像的背景)。现在我需要实现一种从这张缩放图像中挑选颜色的方法。 3 天后,我无法将背景缩放图像放入 canvas 中进行颜色选择,事实证明获得正确的尺寸对我来说太难了。有没有办法在不使用 canvas 的情况下从我已经工作的缩放(背景图像)中实现颜色选择?
我已经尝试了这个函数的几个变体但无济于事:
function useCanvas(canvas, image, callback) {
var thisImg = new Image();
var imgUrl = image.style.backgroundImage.replace('url("', '').replace('")', '');
thisImg.src = imgUrl;
var ctx = canvas.getContext("2d");
ctx.drawImage(thisImg,
colorContrast.xPos,
colorContrast.yPos,
thisImg.width, thisImg.height,
0, 0,
thisImg.width, thisImg.height
);
return callback();
}
//zooming happens here
var container$ = document.getElementById('capture-image');
container$.style.backgroundImage = "url('" + img.src + "')";
container$.style.backgroundRepeat = "no-repeat";
container$.style.backgroundSize = (img.width * zoom) + "px " + (img.height * zoom) + "px";}
-谢谢,
我能够通过合并这个库来完成任务:Magnifier.js 它不使用背景图像,而是在您移动玻璃时动态改变放大图像。
我正在实施一种放大图像的方法,该图像现在正在放大显示为另一个 img 元素的背景图像。这部分按预期工作,我可以四处移动鼠标,将焦点放在我需要的地方,单击并排序 snap/capture 此区域的图片(缩放为另一个容器图像的背景)。现在我需要实现一种从这张缩放图像中挑选颜色的方法。 3 天后,我无法将背景缩放图像放入 canvas 中进行颜色选择,事实证明获得正确的尺寸对我来说太难了。有没有办法在不使用 canvas 的情况下从我已经工作的缩放(背景图像)中实现颜色选择?
我已经尝试了这个函数的几个变体但无济于事:
function useCanvas(canvas, image, callback) {
var thisImg = new Image();
var imgUrl = image.style.backgroundImage.replace('url("', '').replace('")', '');
thisImg.src = imgUrl;
var ctx = canvas.getContext("2d");
ctx.drawImage(thisImg,
colorContrast.xPos,
colorContrast.yPos,
thisImg.width, thisImg.height,
0, 0,
thisImg.width, thisImg.height
);
return callback();
}
//zooming happens here
var container$ = document.getElementById('capture-image');
container$.style.backgroundImage = "url('" + img.src + "')";
container$.style.backgroundRepeat = "no-repeat";
container$.style.backgroundSize = (img.width * zoom) + "px " + (img.height * zoom) + "px";}
-谢谢,
我能够通过合并这个库来完成任务:Magnifier.js 它不使用背景图像,而是在您移动玻璃时动态改变放大图像。