Pertanyaan Transparansi Hex dalam warna [duplikat]


Pertanyaan ini sudah memiliki jawaban di sini:

Saya sedang berusaha menerapkan opsi transparansi wigdget untuk widget aplikasi saya meskipun saya mengalami masalah untuk mendapatkan nilai warna hex yang benar. Menjadi benar-benar baru untuk transparansi warna hex saya mencari sedikit meskipun saya tidak dapat menemukan jawaban spesifik untuk pertanyaan saya.

Saya ingin mengatur transparansi dengan warna hex jadi katakanlah warna hex saya "# 33b5e5" dan saya ingin transparan 50%. Maka saya akan menggunakan "# 8033b5e5" karena 80 adalah 50%.

Saya menemukan bagan yang berguna di sini: http://www.dtp-aus.com/hexadeci.htm . Dengan data ini saya berhasil menemukan ini:

0% = #00
10% = #16
20% = #32
30% = #48
40% = #64
50% = #80
60% = #96
70% = #112
80% = #128
90% = #144

Sekarang masalah mulai muncul ketika saya mendapatkan lebih dari 100 dalam hex. Kode warna Hex hanya bisa 8 simbol panjang kan? Misalnya # 11233b5e5 (80%) mogok.

Apa yang bisa saya lakukan untuk memungkinkan saya menggunakan angka yang lebih tinggi juga?


942
2018-04-06 14:30


asal


Jawaban:


Ini tabel persentase yang benar untuk nilai hex. Misalnya. untuk 50% putih Anda akan menggunakan # 80FFFFFF.

  • 100% - FF
  • 95% - F2
  • 90% - E6
  • 85% - D9
  • 80% - CC
  • 75% - BF
  • 70% - B3
  • 65% - A6
  • 60% - 99
  • 55% - 8C
  • 50% - 80
  • 45% - 73
  • 40% - 66
  • 35% - 59
  • 30% - 4D
  • 25% - 40
  • 20% - 33
  • 15% - 26
  • 10% - 1A
  • 5% - 0D
  • 0% - 00

(sumber)


3015
2018-06-21 16:15



Jawaban singkat

Anda dapat melihat tabel lengkap persentase ke nilai hex dan menjalankan kode di taman bermain ini di https://play.golang.org/p/l1JaPYFzDkI .

Penjelasan singkat dalam pseudocode

Persentase ke nilai hex

  1. desimal = persentase * 255/100. mis: desimal = 50 * 255/100 = 127,5
  2. mengubah desimal ke nilai heksadesimal. mis: 127,5 dalam desimal = 7 * 16ˆ1 + 15 = 7F dalam heksadesimal

Nilai hex menjadi persentase

  1. mengkonversi nilai hexaxdecimal ke desimal. mis: D6 = 13 * 16ˆ1 + 6 = 214
  2. persentase = (nilai dalam desimal) * 100 / 255. ex: 214 * 100/255 = 84%

Info lebih lanjut untuk desimal konversi <=> heksadesimal 

Jawaban panjang: bagaimana cara menghitung di kepala Anda

Masalahnya dapat dipecahkan secara umum oleh lintas perkalian.

Kami memiliki persentase (mulai dari 0 hingga 100) dan nomor lainnya (mulai dari 0 hingga 255) kemudian dikonversi ke heksadesimal.

  • 100 <==> 255 (FF dalam heksadesimal)
  • 0 <==> 0 (00 dalam heksadesimal)

Untuk 1%

  • 1 * 255/100 = 2,5
  • 2,5 dalam heksa adalah 2 jika kamu membulatkannya.

Untuk 2%

  • 2 * 255/100 = 5
  • 5 dalam hexa adalah 5 .

Tabel dalam jawaban terbaik memberikan persentase dengan langkah 5%.

Bagaimana cara menghitung angka antara di kepala Anda? Karena 2.5 penambahan, tambahkan 2 ke yang pertama dan 3 ke yang berikutnya

  • 95% - F2 // mulai
  • 96% - F4 // tambahkan 2 ke F2
  • 97% - F7 // tambahkan 3. Atau F2 + 5 = F7
  • 98% - F9 // tambahkan 2
  • 99% - FC // tambahkan 3. 9 + 3 = 12 dalam hexa: C
  • 100% - FF // tambahkan 2

Saya lebih suka mengajarkan bagaimana menemukan solusi daripada menyerahkan meja

Beri seorang ikan dan Anda memberinya makan selama sehari; ajari seorang pria untuk memancing dan   Anda memberinya makan untuk seumur hidup


89
2018-03-19 10:14



Warna notasi heksadesimal adalah seperti berikut: #AARRGGBB

  • A: alpha
  • R: merah
  • G: hijau
  • B: biru

Anda harus terlebih dahulu melihat caranya heksadesimal bekerja. Anda dapat menulis paling banyak FF.


26
2018-04-06 14:35



Grafik itu tidak menunjukkan persen. "# 90" bukan "90%". Grafik itu menunjukkan konversi heksadesimal hingga desimal. Nomor hex 90 (biasanya direpresentasikan sebagai 0x90) setara dengan angka desimal 144.

Bilangan heksadesimal adalah basis-16, jadi setiap digit adalah nilai antara 0 dan F. Nilai maksimum untuk nilai heks dua byte (seperti transparansi warna) adalah 0xFF, atau 255 dalam desimal. Jadi 100% adalah 0xFF.


20
2018-04-06 14:39



Saya membuat metode pembantu kecil ini untuk aplikasi Android, mungkin berguna:

 /**
 * @param originalColor color, without alpha
 * @param alpha         from 0.0 to 1.0
 * @return
 */
public static String addAlpha(String originalColor, double alpha) {
    long alphaFixed = Math.round(alpha * 255);
    String alphaHex = Long.toHexString(alphaFixed);
    if (alphaHex.length() == 1) {
        alphaHex = "0" + alphaHex;
    }
    originalColor = originalColor.replace("#", "#" + alphaHex);


    return originalColor;
}

15
2018-06-24 11:03



enter image description here

Ini mungkin jawaban yang sangat terlambat .. Tapi grafik ini membunuhnya.

Semua nilai persentase dipetakan ke nilai heksadesimal.

http://online.sfsu.edu/chrism/hexval.html


15
2018-04-22 08:31



coba ini di pencarian google (atau klik disini)

255 * .2 to hex

itu akan menghasilkan 0x33 hasil dari.

Namun, google tidak membulatkan nilai sehingga Anda hanya dapat menggunakan pengganda 1 digit. jika Anda ingin menggunakan katakan .85, Anda harus mendapatkan nilai bulat 255 * .85 pertama, lalu ketik (rounded-value here) to hex di pencarian google.


5
2018-06-11 06:09