Рисование изображения; создание и возвращение обьекта.
Особый скрипт для Canvas:
http://solovei95.github.com/jspack/other/img.html (пример) Он нужен, если "PointInPath" уже не хватает! Рисуется картинка как особый обьект! Короче говоря - можно проверить, находится ли курсор на непрозрачном пикселе картинки-обьекта (но не контекста). https://github.com/Solovei95/jspack/...her/libs/jp.js (исходники) |
Везде в источниках описан этот алгоритм при определении цвета точки.
this.pointInPixel = function(x,y){ var idat = ctx.getImageData(0,0,path.width,path.height); if(x==null){x=0;} if(y==null){y=0;} x = parseInt(x); y = parseInt(y); var i = (y * path.width + x) * 4; if(idat.data[i+3]==0) {return false;} else {return true;} } return this; }; Насколько я понимаю это продолжение темы что ты "придумал" как изображение объектом хранить. Объясни ,что ты по твоему мнению "придумал" или "применил первым"? И я не понимаю что это даёт по сравнению со стандартным методом. Определял бы ты цвет точки тогда да. А так это аналог 100% стандартной функции по определению наличия точки,не обладающий какими либо расширенным функционалом по сравнению с ним,но при этом сжирающий ресурсов в сотни раз больше чем стандартный,тоже касается и быстродействия. |
Вы все не правильно поняли!
Здесь картинка рисуется как обьект! И определяет точку у обьекта, прозрачен он или нет. |
Не путать контекст с обьектом, который рисуется на контексте, но имеет более широкие функции!
|
Спецификация:
1. Рисует изображение на основном контексте. 2. Создает новый обьект Canvas, с такой-же шириной и высотой, и что и текущий элемент. При этом изображение рисуется и там. 3. Становиться доступной функция для проверки прозрачности точки у обьекта. |
Цитата:
Еще раз :-/ что ты здесь изобрёл? и код и описание этого метода более года лежит на многих сайтах. Цитата:
Не изобретай своих "спецификаций" противоречащих норм. спецификациям . |
Важное обновление: в прототипе drawImage (у обьекта XCanvas):
- this.pointInPixel был исправлен на obj.pointInPixel - заменен return this на return obj - Обьявлена переменная obj |
Это было сделано, чтобы корректно работали обьекты!
Я прошу внимательно изучить исходный код!!! Отличать this.ctx от ctx и т.п. |
Я только что радикально обновил код! Теперь вам легко разобрать:
- Рисует картинку на основном холсте - Рисует картинку на холсте обьекта - Возвращает обьект - У обьекта имеется функция проверки непрозрачности точки у холста обьекта var img = new Image(); img.src = "image.png"; img.onload = function(){ var x = new XCanvas(canvas,"2d"); //Выделяем Canvas var i = x.drawImage(img,0,0); //Рисуем img и возвращаем обьект var v = i.pointInPixel(100,100); //Определяем непрозрачность точки у картинки } |
Запомните - все знают алгоритм определения цвета точки!
Но здесь описан совсем не тот скрипт, что вы думаете! Здесь описан особый метод рисования Image. |
Часовой пояс GMT +3, время: 14:00. |