Pertanyaan Deteksi Warna Cerdas


Kami sedang mengerjakan sistem penjadwalan medis yang memungkinkan pengguna menentukan warna untuk ditampilkan di kalender berdasarkan status tertentu. Masalah yang kami miliki adalah bahwa jika pengguna memilih warna latar belakang gelap dan kami menggunakan font gelap, font tidak muncul. Begitu juga jika mereka memilih warna terang dan kami menggunakan font yang ringan. Untuk berbagai alasan, kami tidak ingin pengguna mengatur kedua warna.

Tapi, kita bertanya-tanya apakah ada pola khusus untuk kode warna hex. Mungkin jika itu kurang dari nilai yang diberikan, font gelap harus digunakan dan font ringan yang digunakan sebaliknya?

Jadi, apakah ada cara cerdas untuk memilih warna font berdasarkan pilihan warna latar belakang pengguna?

Amy


4
2018-04-10 19:01


asal


Jawaban:


Anda dapat menggunakan kode hex untuk menghitung secara matematis kontras antara dua warna. Dengan informasi itu, pertanyaannya adalah warna teks mana (putih atau hitam) yang lebih kontras dengan warna latar belakang yang dipilih. Situs ini menunjukkan cara menulis kode itu dalam PHP atau Javascript, tetapi bisa dengan mudah diadaptasi ke bahasa lain.

http://24ways.org/2010/calculating-color-contrast


11
2018-04-10 19:04



Kecerahan warna: http://www.webmasterworld.com/forum88/9769.htm

Tapi, sebenarnya, mengapa tidak hanya membalikkan latar belakang dan menggunakan warna yang dihasilkan adalah latar depan?


0
2018-04-10 19:04



Untuk pertanyaan pertama Anda, nilai-nilai hex kode warna dalam format RGB saya percaya. Ini berarti bahwa byte pertama adalah jumlah warna merah di dalam warna; byte kedua adalah jumlah warna hijau dalam warna; dan byte ketiga adalah jumlah warna biru dalam warna.

Jika Anda ingin mencoba dan menebak warna font, Anda dapat mencoba dan melihat seberapa dekat dengan #FFFFFF itu, dan menggunakan warna gelap jika kurang dari # 777777.

Saya bukan ahli dalam warna dengan cara apa pun, jadi saya tidak akan menjamin kebenaran jawaban ini.


0
2018-04-10 19:07



Coba fungsi ini;

function wc_light_or_dark( $color, $dark = '#000000', $light = '#FFFFFF' ) {

    $hex = str_replace( '#', '', $color );

    $c_r = hexdec( substr( $hex, 0, 2 ) );
    $c_g = hexdec( substr( $hex, 2, 2 ) );
    $c_b = hexdec( substr( $hex, 4, 2 ) );

    $brightness = ( ( $c_r * 299 ) + ( $c_g * 587 ) + ( $c_b * 114 ) ) / 1000;

    return $brightness > 155 ? $dark : $light;
}

Sumber: http://woocommerce.wp-a2z.org/oik_api/wc_light_or_dark/


0
2018-01-09 20:42