আমি দেখতে পেয়েছি যে এলোমেলো রঙ জেনারেট করা এমন রঙগুলি তৈরি করে যা আমার স্বাদের জন্য পর্যাপ্ত বিপরীতে নেই। এটির কাছাকাছি যাওয়ার সবচেয়ে সহজ উপায়টি হ'ল খুব ভিন্ন রঙের একটি তালিকা প্রাক-জনপ্রিয় করে তোলা। প্রতিটি নতুন স্ট্রিংয়ের জন্য, তালিকার পরবর্তী রঙটি বরাদ্দ করুন:
// Takes any string and converts it into a #RRGGBB color.
var StringToColor = (function(){
var instance = null;
return {
next: function stringToColor(str) {
if(instance === null) {
instance = {};
instance.stringToColorHash = {};
instance.nextVeryDifferntColorIdx = 0;
instance.veryDifferentColors = ["#000000","#00FF00","#0000FF","#FF0000","#01FFFE","#FFA6FE","#FFDB66","#006401","#010067","#95003A","#007DB5","#FF00F6","#FFEEE8","#774D00","#90FB92","#0076FF","#D5FF00","#FF937E","#6A826C","#FF029D","#FE8900","#7A4782","#7E2DD2","#85A900","#FF0056","#A42400","#00AE7E","#683D3B","#BDC6FF","#263400","#BDD393","#00B917","#9E008E","#001544","#C28C9F","#FF74A3","#01D0FF","#004754","#E56FFE","#788231","#0E4CA1","#91D0CB","#BE9970","#968AE8","#BB8800","#43002C","#DEFF74","#00FFC6","#FFE502","#620E00","#008F9C","#98FF52","#7544B1","#B500FF","#00FF78","#FF6E41","#005F39","#6B6882","#5FAD4E","#A75740","#A5FFD2","#FFB167","#009BFF","#E85EBE"];
}
if(!instance.stringToColorHash[str])
instance.stringToColorHash[str] = instance.veryDifferentColors[instance.nextVeryDifferntColorIdx++];
return instance.stringToColorHash[str];
}
}
})();
// Get a new color for each string
StringToColor.next("get first color");
StringToColor.next("get second color");
// Will return the same color as the first time
StringToColor.next("get first color");
যদিও এটির কেবলমাত্র colors৪ টি রঙের সীমা রয়েছে, তবে আমি দেখতে পাই বেশিরভাগ মানুষ এর পরে আর কোনও পার্থক্য বলতে পারে না। আমি মনে করি আপনি সবসময় আরও রঙ যুক্ত করতে পারেন।
এই কোডটি হার্ড-কোডেড রঙগুলি ব্যবহার করার সময়, আপনি কমপক্ষে উন্নয়নের সময় আপনি প্রযোজনায় রঙগুলির মধ্যে কতটা বৈপরীত্য দেখতে পাবেন তা নিশ্চিত হওয়ার নিশ্চয়তা রয়েছে।
রঙের তালিকাটি এই এসও উত্তর থেকে তোলা হয়েছে , আরও রঙ সহ অন্যান্য তালিকা রয়েছে।