Computer >> Máy Tính >  >> Lập trình >> Javascript

Tạo màu giữa #CCCCCC và # 3B5998 cho máy đo màu bằng JavaScript?

Chúng ta phải viết một hàm tạo ra một màu ngẫu nhiên giữa hai màu đã cho. Hãy giải quyết vấn đề này theo từng phần -

  • Đầu tiên → Chúng tôi viết một hàm tạo ra một số ngẫu nhiên giữa hai số đã cho.

  • Thứ hai → Thay vì sử dụng thang hex để tạo màu ngẫu nhiên, chúng tôi sẽ ánh xạ thang theo tỷ lệ thập phân 0 đến 15 và thay vào đó sử dụng thang đo đó.

  • Cuối cùng → Chúng tôi lặp lại bất kỳ chuỗi màu nào trong số các chuỗi màu đã cho và tạo ra một màu ngẫu nhiên.

Ví dụ

const randomBetween = (a, b) => {
   const max = Math.max(a, b);
   const min = Math.min(a, b);
   return Math.floor(Math.random() * (max - min) + min);
};
const randomColor = (firstColor, secondColor) => {
   first = firstColor.toUpperCase().substring(1, secondColor.length);
   second = secondColor.toUpperCase().substring(1, firstColor.length);
   const scale = '0123456789ABCDEF';
   let color = '#';
   for(let i = 0; i < first.length && i < second.length; i++ ){
      const random = randomBetween(scale.indexOf(first[i]),
      scale.indexOf(second[i]));
      color += scale[random];
   };
   return color;
};
console.log(randomColor('#34324a', '#42342c'));
console.log(randomColor('#f43250', '#12342c'));
console.log(randomColor('#34324a', '#47942c'));
console.log(randomColor('#ffffff', '#000000'));

Sau đây là đầu ra có thể có trong bảng điều khiển -

Lưu ý - Đây chỉ là một trong nhiều đầu ra có thể có vì đầu ra là ngẫu nhiên mọi lúc.

Đầu ra

#33332A
#C23328
#36822B
#35102A