Masalah:
Bagaimana saya boleh mencipta warna yang bertentangan dengan warna semasa dari segi terang atau gelap? Jika warna semasa adalah hitam, saya perlu menghasilkan putih, dan sebaliknya.
Penyelesaian:
Untuk mencapai fungsi ini, kita boleh menggunakan algoritma yang melibatkan langkah berikut:
Dengan mengikuti langkah ini, kita boleh mencipta fungsi bernama invertColor yang mengambil warna HEX semasa sebagai input dan mengembalikan warna bertentangannya:
function invertColor(hex) { // Convert HEX to RGB var r = parseInt(hex.slice(1, 3), 16); var g = parseInt(hex.slice(3, 5), 16); var b = parseInt(hex.slice(5, 7), 16); // Invert color components r = (255 - r).toString(16); g = (255 - g).toString(16); b = (255 - b).toString(16); // Pad each with zeros and return return "#" + padZero(r) + padZero(g) + padZero(b); } function padZero(str, len) { len = len || 2; var zeros = new Array(len).join("0"); return (zeros + str).slice(-len); }
Fungsi ini mengambil kira ambil kira keperluan untuk menyongsangkan warna untuk mencipta warna cahaya yang bertentangan atau kegelapan.
Contoh:
Jika kita lulus warna "#F0F0F0" (warna terang) sebagai input kepada fungsi invertColor, ia akan mengembalikan "#202020 " (warna gelap).
Atas ialah kandungan terperinci Bagaimanakah anda menjana warna yang bertentangan dengan warna tertentu dari segi cahaya atau gelap?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!