Показать сообщение отдельно
  #4 (permalink)  
Старый 01.03.2019, 11:31
Аватар для Skipp
.
Отправить личное сообщение для Skipp Посмотреть профиль Найти все сообщения от Skipp
 
Регистрация: 30.03.2010
Сообщений: 1,813

Что в итоге получилось, может кому пригодится.
var
	width		= 80,
	height	= 100,
	color		= [255, 255, 255],
	depth	= 100; // 1-100
	scale		= 100; // 1-100
	canvas	= document.createElement('canvas'),
	context	= canvas.getContext('2d'),
	image	= context.createImageData(width, height),
	data		= image.data;
	
	canvas.width	= width;
	canvas.height	= height;

	for(var j = 0, row = 0, column = 0; j < data.length; j+=4, column++) {
		if(column >= width) {
			row++;
			column = 0;
		}
			
		data[j]		= color[0];
		data[j+1]	= color[1];
		data[j+2]	= color[2];
		data[j+3]	= 255 * ((scale * 0.02 - (Math.pow(row - height/2, 2) / Math.pow(height/2, 2) + Math.pow(column - width/2, 2) / Math.pow(width/2, 2)))/(depth/100))
	}
				
context.putImageData(image, 0, 0);


P.S. с терминами может напутал scale и depth
__________________
.
Ответить с цитированием