Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimanakah anda menjana warna yang bertentangan dengan warna tertentu dari segi cahaya atau gelap?

Bagaimanakah anda menjana warna yang bertentangan dengan warna tertentu dari segi cahaya atau gelap?

Susan Sarandon
Susan Sarandonasal
2024-11-13 14:04:02943semak imbas

How do you generate the opposite color of a given color in terms of light or dark?

Menjana Warna Bertentangan daripada Warna Diberi

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:

  1. Pada mulanya, kami menukar warna semasa daripada format perenambelasan (HEX) kepada komponen Red-Green-Blue (RGB) yang setara.
  2. Kami kemudiannya menyongsangkan setiap komponen R, G dan B dengan menolak nilainya daripada 255.
  3. Komponen RGB terbalik kemudian ditukar kembali kepada format HEX.
  4. Akhir sekali, kami meletakkan setiap komponen HEX dengan sifar pendahuluan yang diperlukan untuk memastikan sah output.

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn