Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function getAverageColor(blobUrl, callback) {
- const img = new Image();
- img.crossOrigin = "Anonymous"; // Handle potential CORS issues
- img.src = blobUrl;
- img.onload = () => {
- const canvas = document.createElement('canvas');
- canvas.width = img.width;
- canvas.height = img.height;
- const context = canvas.getContext('2d');
- context.drawImage(img, 0, 0);
- const imageData = context.getImageData(0, 0, canvas.width, canvas.height);
- const data = imageData.data;
- let r = 0, g = 0, b = 0;
- for (let i = 0; i < data.length; i += 4) {
- r += data[i];
- g += data[i + 1];
- b += data[i + 2];
- }
- const pixelCount = data.length / 4;
- r = Math.floor(r / pixelCount);
- g = Math.floor(g / pixelCount);
- b = Math.floor(b / pixelCount);
- callback({ r, g, b });
- };
- img.onerror = () => {
- callback(null, new Error('Failed to load image'));
- };
- }
- // Example usage with the provided Blob URL
- const blobUrl = 'blob:https://play.pixels.xyz/095fc136-3a0b-4843-a571-de46d657986d';
- getAverageColor(blobUrl, (color, error) => {
- if (error) {
- console.error(error);
- } else {
- console.log('Average color:', color);
- }
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement