我想要做的是繪製簡單的形狀讓我們說鼠標矩形,並直接從畫布上獲取他的座標,高度和寬度,這可能嗎?如何獲得畫布在畫布中的位置
我寫了這個功能:
function getImageProperties(image){
var xMin = image.width;
var xMax = 0;
var yMin = image.height;
var yMax = 0;
var w = image.width, h = image.height;
for (var y = 0; y < h; y ++) {
for (var x = 0; x < w; x ++) {
for (var c = 1; c < 5; c += 1) {
var i = (x + y * w) + c;
if(image.width* image.height * 4 != i){
if(image.data[i] != 0){
if(x<xMin)
xMin = x;
if(x>xMax)
xMax = x;
if(y<yMin)
yMin = y;
if(y>yMax)
yMax = y;
}
}
}
}
}
var imgProp = {
x : xMin,
y : yMin,
width: (xMax-xMin),
height : (yMax-yMin)
};
return imgProp;
}
其中
image = context.getImageData(0, 0, context.canvas.width, context.canvas.height);
,但返回的數據是不一樣的我送溺水的功能:/
所以你試圖找到包圍所有非黑色像素的矩形? – Alnitak 2011-05-09 07:23:12
好的。假設我應該看第4個像素的阿爾法。 var i =(x + y * w)* 4 + 3;和image.data [i]> 0,但結果仍然不準確。例如,當我在x中繪製矩形,y = 5,5時,我的功能重新獲得4,4。 – sebastian 2011-05-09 07:31:32
是的,因爲範圍'[min,max]'的_width_是'max-min + 1',根據我的回答 – Alnitak 2011-05-09 07:40:29