mirror of
https://github.com/janishutz/color-thief.git
synced 2025-11-25 22:04:25 +00:00
117 lines
3.4 KiB
HTML
Executable File
117 lines
3.4 KiB
HTML
Executable File
<!doctype html>
|
|
<html class="no-js" lang="en">
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
|
|
|
<link href='http://fonts.googleapis.com/css?family=Varela+Round|Terminal+Dosis:400,700,600' rel='stylesheet' type='text/css'>
|
|
|
|
<title>Color Thief</title>
|
|
<meta name="description" content="">
|
|
<meta name="author" content="">
|
|
|
|
<meta name="viewport" content="width=device-width,initial-scale=1">
|
|
|
|
<link rel="stylesheet" href="css/app.css">
|
|
|
|
<script src="js/libs/modernizr-2.0.6.min.js"></script>
|
|
</head>
|
|
<body>
|
|
|
|
<div id="container">
|
|
<header>
|
|
<h1>Color Thief</h1>
|
|
<h4><a href="http://lokeshdhakar.com">by Lokesh Dhakar</a></small></h4>
|
|
|
|
<p>A script for grabbing the dominant color or a representative color palette from an image. Uses javascript and canvas.</p>
|
|
<p><a href="http://www.lokeshdhakar.com/">Read more on my blog</a> | <a href="https://github.com/lokesh/color-thief">Get the code on Github</a>
|
|
</p>
|
|
</header>
|
|
|
|
<h2>Examples</h2>
|
|
<div id="main" role="main">
|
|
|
|
</div>
|
|
</div> <!--! end of #container -->
|
|
|
|
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js"></script>
|
|
<script>window.jQuery || document.write('<script src="js/libs/jquery-1.6.2.min.js"><\/script>')</script>
|
|
<script src="js/libs/jquery.imagesloaded.js"></script>
|
|
<script src="js/libs/jquery.lettering.js"></script>
|
|
<script src="js/libs/mustache.js"></script>
|
|
|
|
|
|
<script src="js/libs/quantize.js"></script>
|
|
<script src="js/color-thief.js"></script>
|
|
|
|
|
|
<!-- Using Mustache templating -->
|
|
<script id='template' type='text/x-mustache'>
|
|
{{#files}}
|
|
<div class="imageSection">
|
|
<div class="imageWrap">
|
|
<img class="targetImage" src="img/{{.}}" />
|
|
</div>
|
|
<div class="colors">
|
|
<div class="function dominantColor">
|
|
<h3>Dominant Color</h3>
|
|
<div class="swatches"></div>
|
|
</div>
|
|
<div class="function medianCutPalette">
|
|
<h3>Palette</h3>
|
|
<div class="swatches"></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{{/files}}
|
|
</script>
|
|
|
|
<script>
|
|
$(document).ready(function(){
|
|
|
|
// Use mustache.js templating to create layout
|
|
var images = { files: [ "1.jpg", "10.jpg", "2.jpg", "icon1.png"] };
|
|
var html = Mustache.to_html($('#template').html(), images);
|
|
$('#main').append(html);
|
|
|
|
// Use lettering.js to give letter by letter styling control for the h1 title
|
|
$("h1").lettering();
|
|
|
|
|
|
// Once images are loaded, loop through each one, getting dominant color
|
|
// and palette and displaying them.
|
|
$('img').imagesLoaded(function(){
|
|
|
|
$('img').each(function(index){
|
|
|
|
// Get the dominant color and palette for this image
|
|
var dominantColor = getDominantColor(this),
|
|
medianPalette = createPalette(this, 10),
|
|
imageSection = $(this).closest('.imageSection'),
|
|
swatchEl;
|
|
|
|
// Dominant Color
|
|
swatchEl = $('<div>', {
|
|
'class': 'swatch'
|
|
}).css('background-color','rgba('+dominantColor.r+','+dominantColor.g+ ','+dominantColor.b+', 1)');
|
|
imageSection.find('.dominantColor .swatches').append(swatchEl);
|
|
|
|
// Palette
|
|
var medianCutPalette = imageSection.find('.medianCutPalette .swatches');
|
|
$.each(medianPalette, function(index, value){
|
|
swatchEl = $('<div>', {
|
|
'class': 'swatch'
|
|
}).css('background-color','rgba('+value[0]+','+value[1]+ ','+value[2]+', 1)');
|
|
medianCutPalette.append(swatchEl);
|
|
});
|
|
|
|
});
|
|
|
|
});
|
|
});
|
|
|
|
</script>
|
|
|
|
</body>
|
|
</html>
|