Apabila menjana sejumlah besar warna, mencari cara untuk memastikan ia berbeza secara visual boleh menjadi mencabar. Meneroka pendekatan sedia ada adalah penting.
Pecah Seragam Kiub RGB:
Kaedah ini membahagikan kiub RGB kepada bahagian diskret dan memilih warna daripada kawasan tersebut. Ia boleh menghasilkan skala progresif, tetapi untuk jumlah yang besar, warna mungkin kelihatan serupa.
Menggunakan Senarai Pratakrif:
Senarai warna seperti Boynton atau Kelly menyediakan warna yang telah dipilih dengan kontras yang tinggi, menghapuskan keperluan untuk algoritma.
Kaedah Berasaskan Algoritma:
Pelbagai algoritma telah dibangunkan untuk memilih warna yang berbeza. Ini termasuk:
Menukar kepada RGB:
Jika warna tidak dinyatakan dalam format RGB, anda mungkin perlu menukarnya menggunakan sumber seperti:
Contoh Kod:
Kod C# untuk senarai dioptimumkan Boynton:
public static readonly List<Color> _boyntonOptimized = new List<Color> { Color.FromArgb(0, 0, 255), //Blue Color.FromArgb(255, 0, 0), //Red Color.FromArgb(0, 255, 0), //Green Color.FromArgb(255, 255, 0), //Yellow Color.FromArgb(255, 0, 255), //Magenta Color.FromArgb(255, 128, 128), //Pink Color.FromArgb(128, 128, 128), //Gray Color.FromArgb(128, 0, 0), //Brown Color.FromArgb(255, 128, 0), //Orange };
Kod JavaFX untuk warna Kelly:
private static final Color[] KELLY_COLORS = { Color.web("0xFFB300"), // Vivid Yellow Color.web("0x803E75"), // Strong Purple Color.web("0xFF6800"), // Vivid Orange Color.web("0xA6BDD7"), // Very Light Blue Color.web("0xC10020"), // Vivid Red Color.web("0xCEA262"), // Grayish Yellow Color.web("0x817066"), // Medium Gray Color.web("0x007D34"), // Vivid Green Color.web("0xF6768E"), // Strong Purplish Pink Color.web("0x00538A"), // Strong Blue Color.web("0xFF7A5C"), // Strong Yellowish Pink Color.web("0x53377A"), // Strong Violet Color.web("0xFF8E00"), // Vivid Orange Yellow Color.web("0xB32851"), // Strong Purplish Red Color.web("0xF4C800"), // Vivid Greenish Yellow Color.web("0x7F180D"), // Strong Reddish Brown Color.web("0x93AA00"), // Vivid Yellowish Green Color.web("0x593315"), // Deep Yellowish Brown Color.web("0xF13A13"), // Vivid Reddish Orange Color.web("0x232C16"), // Dark Olive Green };
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menjana Set Besar Warna-warna Berbeza Secara Visual?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!