我正在尝试从本机脚本中的imageAsset获取图像数据,但是无法从图像中获取像素数据。我该怎么办?
onCameraButtonTap(imageComponentRef: any, htmlDocRef: any): void {
camera.takePicture().then((imageAsset) => {
var image = new Image();
image.src = imageAsset;
imageComponentRef.src = imageAsset;
}).catch((error) => {
console.log(error);
});
}
我的意思是这样的:image.getRGB(23,45)
,是从坐标中获取像素rgb数据。
答案 0 :(得分:0)
还没有插件,但是使用iOS / Android本机api似乎需要几行代码。
请参考文档,将Objective C / Java转换为JavaScript。
答案 1 :(得分:0)
对于Native脚本中的 Android :
您需要使用android native位图和Color类来获取RGB。
在课堂上声明android
,例如
declare let android: any;
@Component({
....
{)
并将以下代码添加到您的takePicture函数中
camera.takePicture().then((imageAsset) => {
var image = new Image();
image.src = imageAsset;
imageComponentRef.src = imageAsset;
const imagePath = imageAsset.android;
const imageAndroidDrawable = android.graphics.drawable.Drawable.createFromPath(imagePath);
const imageAndroidBitmap = android.graphics.BitmapFactory.decodeFile(imagePath);
const pixel = imageAndroidBitmap.getPixel(23, 45);
const redValue = android.graphics.Color.red(pixel);
const blueValue = android.graphics.Color.blue(pixel);
const greenValue = android.graphics.Color.green(pixel);
}).catch((error) => {
console.log(error);
});
答案 2 :(得分:0)
您可以使用nativescript-bitmap-factory从位图对象获取像素
wspace