更改重新缩放的黑白图片中像素的颜色
Change colors of pixel in rescaled black and white picture
给定一张用户创建的黑白图片。我想添加颜色功能。
由于他创建的图片大小可能会有所不同,我将高度固定在PHP并绘制了原图:
//Get img Data
$.ajax({
url: "/_app/request.php",
type: "POST",
dataType:'json',
data: ({msg : message}),
success: function(data){
$('#qroriginal').attr("src",data)
}
});
在我使用的创建函数中:
$img= imagescale($img , 200, 200);
然后使用颜色选择器作为输入更改颜色:
//in front and back are the new rgb color values
var c=$('#prev');
var ctx = c[0].getContext("2d");
var img=$('#original');
ctx.drawImage(img[0],0 ,0);
var imgData= ctx.getImageData(0,0, c[0].width, c[0].height);
//change colors
var i;
for (i = 0 ; i<imgData.data.length;i+=4){
if(imgData.data[i] > 200){
imgData.data[i] = front[0];
imgData.data[i+1] = front[1];
imgData.data[i+2] = front[2];
}
else if(imgData.data[i] < 50){
imgData.data[i] = back[0];
imgData.data[i+1] = back[1];
imgData.data[i+2] = back[2];
imgData.data[i+3] = imgData.data[i+3];
}
现在的问题是:在没有重新缩放的情况下,黑色的 rgb 值已经在 245-255 之间。但如果我重新调整它。我得到一些介于 100-150 之间的值。所以不知道是白点还是黑点。
我正在考虑更改 PHP 中的创建函数或在 javascript 中编写更好的过滤器,查看相邻像素。
100-150 之间的值不完整 black/white 因此它们不接近 255/0。我更愿意采用一个因子(5% 或 10%),我将在缩放后将其添加到像素值中。这会产生很多相关的
结果。
给定一张用户创建的黑白图片。我想添加颜色功能。
由于他创建的图片大小可能会有所不同,我将高度固定在PHP并绘制了原图:
//Get img Data
$.ajax({
url: "/_app/request.php",
type: "POST",
dataType:'json',
data: ({msg : message}),
success: function(data){
$('#qroriginal').attr("src",data)
}
});
在我使用的创建函数中:
$img= imagescale($img , 200, 200);
然后使用颜色选择器作为输入更改颜色:
//in front and back are the new rgb color values
var c=$('#prev');
var ctx = c[0].getContext("2d");
var img=$('#original');
ctx.drawImage(img[0],0 ,0);
var imgData= ctx.getImageData(0,0, c[0].width, c[0].height);
//change colors
var i;
for (i = 0 ; i<imgData.data.length;i+=4){
if(imgData.data[i] > 200){
imgData.data[i] = front[0];
imgData.data[i+1] = front[1];
imgData.data[i+2] = front[2];
}
else if(imgData.data[i] < 50){
imgData.data[i] = back[0];
imgData.data[i+1] = back[1];
imgData.data[i+2] = back[2];
imgData.data[i+3] = imgData.data[i+3];
}
现在的问题是:在没有重新缩放的情况下,黑色的 rgb 值已经在 245-255 之间。但如果我重新调整它。我得到一些介于 100-150 之间的值。所以不知道是白点还是黑点。
我正在考虑更改 PHP 中的创建函数或在 javascript 中编写更好的过滤器,查看相邻像素。
100-150 之间的值不完整 black/white 因此它们不接近 255/0。我更愿意采用一个因子(5% 或 10%),我将在缩放后将其添加到像素值中。这会产生很多相关的 结果。