Цитата:
var XCanvas = function(canvas,type){ this.canvas = canvas; ???????? this.ctx = this.canvas.getContext(type); } а если ид будет неправильным? чегото ты мне напоминаешь Геворг. ник сменил? и даже скажу больше-зачем получать всё изображение. достаточно получить его участок. нач. коорд там где мышь,конечные 1,1. итого получим однопикселное изображение ,какое разложив датой получим массив из 4х элементов . 4 й элемент это альфа.Итого всё то что ты написал сведётся к строкам. 1 навесить обработчики на канву 2 определить координаты клика на ней 3 получить однопиксельное изображение разложить его на составляющие 4 если код 4 го элемента не равен 0 то это точка На всё про всё макс 10 строк. |
dmitriymar,
Вы мне щас намекнули про получение 1х1 из getImageData. А теперь идите и посмотрите исходный код еще раз! |
Вот это вы имели ввиду?
if(x==null){x=0;}
if(y==null){y=0;}
x = parseInt(x);
y = parseInt(y);
var idat = obj.ctx.getImageData(x,y,1,1);
if(idat.data[3]==0)
{return false;} else
{return true;}
Это исправленная строчка в коде! |
Цитата:
обработчик онклик на канву. и функция определения альфы и всё 10 строк макс а это зачем ? if(x==null){x=0;} if(y==null){y=0;} клик на канве по любому будут координаты x = parseInt(x); y = parseInt(y); это зачем? приведение типов и так отработает. итого: в обработчике определить на каком клик,отменить всплытие,отменить стандартное поведение-что в коде не сделано. определить альфу И всё. |
Я кароче сделал простую строку!
//Check Point in Canvas of Image Object
obj.pointInPixel = function(x,y){
if(obj.ctx.getImageData(x,y,1,1).data[3]==0) {
return false;
} else {
return true;
}
}
|
Я кароче добавил colorPick.
Спецификации нет! Описание: просто возвращает RGBA. |
ColorPick настолько суровая функция, что берет цвет пикселя у основного контекста.
|
Цитата:
|
| Часовой пояс GMT +3, время: 18:09. |