是否有 Javascript 函数来反转相机的所有颜色(负面影响)?
Is there a Javascript function to invert all the colors (negative effect) of the camera?
所以,我正在使用 Appcelerator Titanium(不是 ALLOY)构建一个应用程序(主要用于 Android),它可以打开相机并读取二维码。到目前为止,这么好,它做了它应该做的。但是,有些版本的 QRCode 有反转的颜色,我的应用程序无法读取它们。所以,我也在尝试找到一种方法来反转相机的视图,这样 QRCode 就可以像普通 QRCode 一样被读取。
我尝试了一些函数将颜色十六进制代码转换为 RGB。下面我将 post 代码的某些部分作为示例。
拜托,如果有人有解决办法,请帮助我! =)
我试过使用CSS添加过滤器,但只能在Alloy,不常见的Ti.UI项目中使用,这是我的情况。
var overlay = Ti.UI.createView({
backgroundColor: 'transparent',
top: 0,
right: 0,
bottom: 0,
left: 0,
id: 'overlay',
});
//the overlay is called when the camera opens, it is the main view in which I have to invert the colors....
function rgbaToHex(r, g, b, a) {
var toHex = function(n) {
return ('00' + (n | 0).toString(16)).slice(-2);
};
return '#' + toHex(((a * 100) / 100) * 255) + toHex(r) + toHex(g) + toHex (b);
};
//this is a rgba to hex function I found on the web, and it works, just not as I need it....
如果你正在使用 ZXing,我假设你是,并且如果你只是想阅读倒码颜色,请尝试在 DecodeHandler decode()
上添加此 class:
if (rawResult == null) {
LuminanceSource invertedSource = source.invert();
bitmap = new BinaryBitmap(new HybridBinarizer(invertedSource));
try {
rawResult = multiFormatReader.decodeWithState(bitmap);
} catch (NotFoundException e) {
// continue
} finally {
multiFormatReader.reset();
}
}
它不会将相机反转为负片,但它会像普通相机一样工作 barcode/QRCode。
所以,我正在使用 Appcelerator Titanium(不是 ALLOY)构建一个应用程序(主要用于 Android),它可以打开相机并读取二维码。到目前为止,这么好,它做了它应该做的。但是,有些版本的 QRCode 有反转的颜色,我的应用程序无法读取它们。所以,我也在尝试找到一种方法来反转相机的视图,这样 QRCode 就可以像普通 QRCode 一样被读取。
我尝试了一些函数将颜色十六进制代码转换为 RGB。下面我将 post 代码的某些部分作为示例。
拜托,如果有人有解决办法,请帮助我! =)
我试过使用CSS添加过滤器,但只能在Alloy,不常见的Ti.UI项目中使用,这是我的情况。
var overlay = Ti.UI.createView({
backgroundColor: 'transparent',
top: 0,
right: 0,
bottom: 0,
left: 0,
id: 'overlay',
});
//the overlay is called when the camera opens, it is the main view in which I have to invert the colors....
function rgbaToHex(r, g, b, a) {
var toHex = function(n) {
return ('00' + (n | 0).toString(16)).slice(-2);
};
return '#' + toHex(((a * 100) / 100) * 255) + toHex(r) + toHex(g) + toHex (b);
};
//this is a rgba to hex function I found on the web, and it works, just not as I need it....
如果你正在使用 ZXing,我假设你是,并且如果你只是想阅读倒码颜色,请尝试在 DecodeHandler decode()
上添加此 class:
if (rawResult == null) {
LuminanceSource invertedSource = source.invert();
bitmap = new BinaryBitmap(new HybridBinarizer(invertedSource));
try {
rawResult = multiFormatReader.decodeWithState(bitmap);
} catch (NotFoundException e) {
// continue
} finally {
multiFormatReader.reset();
}
}
它不会将相机反转为负片,但它会像普通相机一样工作 barcode/QRCode。