Colors play a crucial role in web design and development. They can set the tone and mood of a website, and can even affect the way users interact with it. However, finding the perfect color palette for a project can be a daunting task. This is where color extraction tools come in.
Upload A Image To Fetch Colors
Color Preview | RGB | HEX | Copy |
---|

Color extraction tools allow you to easily extract the most dominant colors from an image and preview them in a table along with their RGB and Hex codes. This makes it easy for web designers and developers to quickly grab colors for their projects.
One such tool is the “Cwa Colorthief” plugin for WordPress. This powerful plugin allows you to upload an image and extract its colors in just a few clicks. It then displays the extracted colors in a table, making it easy to see which colors are most dominant in the image. Additionally, the plugin also includes the ability to copy the color code to your clipboard and the ability to limit the number of colors extracted for better performance.
But how does this plugin work?
The plugin uses a library called ColorThief to analyze the image and extract its colors. ColorThief uses a technique called color quantization to reduce the number of colors in an image to a smaller number (e.g. 10) while still maintaining the overall visual appearance. This makes it possible to extract the most dominant colors from an image in a relatively short amount of time.
The plugin also includes a responsive design, which makes it easy to use on different devices and screen sizes.
<title>Color Thief</title>
<script src="https://kit.fontawesome.com/a076d05399.js" crossorigin="anonymous"></script>
<style>
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@200&display=swap');
.color-box{
max-width: 100%;
margin: 50px auto;
margin-top: 50px;
min-height: 300px;
font-family: 'Poppins', sans-serif;
}
form {
text-align: center;
align-items: center;
}
input[type='file'] {
padding: 15px;
border: none;
border-radius: 5px;
border: 0.6px solid #ddd;
font-size: 16px;
max-width: 70%;
}
#preview {
width: 100%;
height: auto;
margin: 10px auto;
object-fit: contain;max-width: 100%;
}
#colors {
text-align: center;
display: flex;
flex-wrap: wrap;
}
#colors div {
width: 50%;
padding: 10px;
box-sizing: border-box;
}
.row{
display: flex;
justify-content: space-between;
}
.col-1{
width: 45%;
}
.col-2{
width: 45%;
}
table {
width: 100%;
border-collapse: collapse;
background: #fff;
color: #333;
}
thead{
width: 100%;
}
th, td {
border: 1px solid #ccc;
padding: 10px;
text-align: center;
}
.color-code {
border: none;
background-color: transparent;
width: 80%;
text-align: center;
}
.color-code:focus {
outline: none;
}
.copy-btn {
background-color: #007bff;
color: #fff;
border: none;
padding: 5px 10px;
border-radius: 5px;
cursor: pointer;
}
.copy-btn:hover {
background-color: #0069d9;
}
@media screen and (max-width: 800px){
.row{
flex-direction: column;
}
.col-1, .col-2{
width: 100%;
}
}
</style>
<div class="color-box row">
<form class="col-1">
<input type="file" id="fileInput" onchange="previewImage(); extractColors()" accept=".jpg, .jpeg, .png">
<br>
<img id="preview" src="" alt="">
</form>
<div class="col-2">
<table id="colors">
<thead>
<tr>
<th>Color Preview</th>
<th>RGB</th>
<th>HEX</th>
<th>Copy</th>
</tr>
</thead>
<tbody id="color-rows"></tbody>
</table>
</div>
</div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/color-thief/2.3.0/color-thief.min.js"></script>
<script>
function previewImage() {
var preview = document.getElementById('preview');
var file = document.getElementById('fileInput').files[0];
var reader = new FileReader();
reader.onloadend = function() {
preview.src = reader.result;
}
if (file) {
reader.readAsDataURL(file);
} else {
preview.src = "";
}
}
function extractColors() {
var file = document.getElementById('fileInput').files[0];
var img = new Image();
img.src = URL.createObjectURL(file);
img.onload = function() {
var colorThief = new ColorThief();
var colorPalette = colorThief.getPalette(img);
var colorRows = document.getElementById('color-rows');
colorRows.innerHTML = '';
for (var i = 0; i < colorPalette.length; i++) {
var color = colorPalette[i];
var r = color[0];
var g = color[1];
var b = color[2];
var colorRow = document.createElement('tr');
var colorPreview = document.createElement('td');
var colorRGB = document.createElement('td');
var colorHEX = document.createElement('td');
var copyBtn = document.createElement('td');
colorPreview.innerHTML = '<div style="background-color: rgb(' + r + ', ' + g + ', ' + b + '); width: 30px; height: 30px;"></div>';
colorRGB.innerHTML = '<input type="text" class="color-code" value="rgb(' + r + ', ' + g + ', ' + b + ')" readonly>';
colorHEX.innerHTML = '<input type="text" class="color-code" value="' + rgbToHex(r, g, b) + '" readonly>';
copyBtn.innerHTML = '<button class="copy-btn" onclick="copyColorCode(this)">copy</button>';
colorRow.appendChild(colorPreview);
colorRow.appendChild(colorRGB);
colorRow.appendChild(colorHEX);
colorRow.appendChild(copyBtn);
colorRows.appendChild(colorRow);
}
}
}
function copyColorCode(btn) {
var colorCode = btn.parentNode.previousSibling.firstChild;
colorCode.select();
document.execCommand("copy");
}
function componentToHex(c) {
var hex = c.toString(16);
return hex.length == 1 ? "0" + hex : hex;
}
function rgbToHex(r, g, b) {
return "#" + componentToHex(r) + componentToHex(g) + componentToHex(b);
}
</script>
Overall, the “Cwa Colorthief” plugin is a valuable tool for any web designer or developer looking to quickly and easily extract colors from images. It not only saves time but also makes it easy to find the perfect color palette for a project.
In conclusion, Color extraction tools like “Color Extractor” can be a real time saver and a great help for the web designers and developers. It can be used to easily extract dominant colors from an image, preview them, and even copy the color codes to your clipboard for easy use. This makes it a must-have tool for anyone who wants to create a visually appealing website.