Показать сообщение отдельно
  #4 (permalink)  
Старый 06.05.2013, 03:18
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,588

Вот вам пример:
<!DOCTYPE HTML>
<html lang="ru-RU">
<head>
    <meta charset="UTF-8">
    <style type="text/css">
    *{padding:0;margin:0;}
    html,body{
        width: 100%;
        height: 100%;
        background: rgb(157,213,58);
    }
	canvas{
		cursor: crosshair;
		position: relative;
	}
	#fixed{
		position: fixed;
		right: 0;
		top: 0;
		background: rgba(222,222,244,.6);
		border: 5px solid #000;
		z-index:2;
	}
    </style>
</head>
<body>
 
<script type="text/javascript">
function id(i){return document.getElementById(i)}
function read(file) {
    var d = document,
        canvas = d.createElement('canvas'),
        ctx = canvas.getContext('2d'),
		img = new Image(),
		out = id('output');
		
    img.onload = function() {
		canvas.width = img.width;
		canvas.height = img.height;
        
		ctx.drawImage(img, 0, 0); 

		var data = ctx.getImageData(0, 0, canvas.width, canvas.height).data;
		
		canvas.onmousemove = function(e){
			var i = (e.layerX + e.layerY * canvas.width) * 4;
			
			out.innerHTML = 'x: ' + e.layerX +
			'<br/>y: ' + e.layerY +
			'<br/>r: ' + data[i] +
			'<br/>g: ' + data[i+1] +
			'<br/>b: ' + data[i+2] +
			'<br/>a: ' + data[i+3];
			out.parentNode.style.borderColor = 'rgba(' + data[i] + ',' + data[i+1] + ',' + data[i+2] + ',' + data[i+3] + ')';
		};
		
		d.body.appendChild(canvas);
    }
    img.src = URL.createObjectURL( file );
    
}
</script>
<div id="fixed" >
	<input type="file" id="input" onchange="read(files[0])"/>
	<div id="output"/></div>
</div>
</body>
</html>

Здесь всё что касается js. Работу с цветами и с сервером - гуглите сами.
__________________
29375, 35
Ответить с цитированием