Цитата:
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:54. |