Показать сообщение отдельно
  #1 (permalink)  
Старый 27.02.2015, 13:47
Новичок на форуме
Отправить личное сообщение для Sinhrofazathron Посмотреть профиль Найти все сообщения от Sinhrofazathron
 
Регистрация: 24.02.2015
Сообщений: 7

Создание картинки canvas
Так как imageData содержит RGBA информацию хотел сделать координацию по Х и У с удобным доступом к цветам. Но функции прописаны не верно, не обращается через функцию к массиву pixselSet.
Если есть другие формулировки обращения к цветам напишите пожалуйста.

var canvas = document.getElementById('picture');
var ctx = canvas.getContext('2d');
const xmax = 1024, ymax = 768;
var pixelSet = ctx.createImageData(xmax,ymax); // Черный квадрат 1024 x 768 полностью прозрачный
 var i, x, y;
  pixelSet.data.prototype.Red = function(x, y, color){ this.data[this.x * this.y * 4 - 3] = this.color;}
  pixelSet.data.prototype.Green = function(x, y, color){ this.data[this.x * this.y * 4 - 2] = this.color;}
  pixelSet.data.prototype.Blue = function(x, y, color){ this.data[this.x * this.y * 4 - 1] = this.color;}
for(y=1;i<ymax;y++)
for(x=1;i<xmax;x++)
{
  pixelSet.data.Red(x, y, 255); // всё красным
}
ctx.putImageData(pixelSet, 20,20); // с такими парам. выводит 1024х768

Либо можно для задания сразу RGB:
pixelSet.data.prototype.Red = function(x, y, R, G, B){ 
this.data[this.x * this.y * 4 - 3] = this.R; //Red
this.data[this.x * this.y * 4 - 2] = this.G; //Geen
this.data[this.x * this.y * 4 - 1] = this.B; //Blue
}

P.S. Если имеется информация или книги про Fractal Flame Algorithm напишите пожалуйста, желательно на русском.

Последний раз редактировалось Sinhrofazathron, 01.03.2015 в 14:35. Причина: Дополнение
Ответить с цитированием