我试图从图片中获取RGB值,但没有成功。
我用来拍照的
cordova-plugin-camera-preview
插件。
然后我在显示图片
img
元素来自
base64string
.
我正在尝试裁剪我感兴趣的部分图像并将其显示出来。
canvas
元素。
直到这一点,它是正常的工作,但未能获得在画布上显示的图像的一部分的RGB值。
data
只包含“0”,拍摄的图像不是黑色的(所以值应该是!= 0)
任何帮助都非常感谢。
主页.ts
var canvas = <HTMLCanvasElement> document.getElementById('imageCanvas');
var image = new Image();
if (canvas.getContext) {
var imgX = 312;
var imgY = 408;
var imgWidth = 60;
var imgHeight = 296;
var ctx = canvas.getContext('2d');
console.log('ctx = ' + ctx);
var imageData = ctx.getImageData(312, 408, 60, 296);
image.onload = function(){
ctx.drawImage(image, 312,408 , 60,304 , 0,0 , 60,304);
};
image.src = this.base64Image;
var imageData = new ImageData(imgWidth, imgHeight);
imageData = ctx.getImageData(312, 408, imgWidth, imgHeight);
console.log('imageData: ' + imageData.data[1]);
var data = imageData.data;
console.log('data: '+ data[0]);
}
console.log('imageData: ' + imageData.data[1]);
和
console.log('data: '+ data[0]);
给出“0”值。
主页.html
<img id ="image" class="image-container" src="{{base64Image}}" />
<canvas style="border:1px solid #d3d3d3;" id="imageCanvas" ></canvas>