Sohbet için, oturum başına rasgele renkler atama

3 Cevap php

Ben üzerinde çalışıyorum bir AJAX sohbet sistemi var ve şimdiye kadar ben çalışma var. Ben yapmak istediğim tek şey kullanıcı adı ekranda zaman o kadar, bu (bir AIM pencere gibi) benzersiz bir renk olması. Nasıl onlar için kaydedilir özellikle oturum için kullanıcı adı atamak için rastgele bir renk oluşturmak istiyorsunuz?

Rengi beyaz zemin üzerine o kadar koyu ve onlar oluşturulur gibi, diğer cari kullanıcıların atanmış renkleri çok benzer olamaz şey olurdu.

EDIT Teşekkürler, ben önceden tanımlanmış bir liste kolay yolu olurdu sanırım. Ben bir config dosyasına bu listeyi ve kullanıcı oturum açtığında ben bir renk atarsanız, nasıl emin kullanıcılar giriş hiçbir iki aynı renkte olduğunu yapma konusunda gitmeli?

3 Cevap

Ben size anında renkleri üretmek için çalışırken daha rastgele (birbirinden yeterince farklı, yeterince karanlık) gereksinimlerini karşılamak pregenerated renk bir listeden seçmek daha iyi olacağını düşünüyorum.

Edited to add:

Bildiğim kadarıyla aynı renge sahip olan birden fazla kullanıcı tutmak gibi, sistemleri mutlaka gördüğüm tek şey sadece Javascript kullanarak kullanıcıların makine yerel renkleri atamak etmektir. Genellikle farklı kullanıcılar diğer insanlar için aynı renkleri görmek o önemli değil. Bazı diğer kullanıcının ekranında olduğu gibi benim ekranda renkler aynı ise ben sürece benim ekranda tüm renkleri benzersiz olarak, umurumda değil. Her kullanıcının kendi metin ayrı olması için aslında (kendi 'siyah, herkes başka, örneğin, renkli olan) istenebilir.

Yeterince karanlık ve kolayca ayırt edilebilir olduğunu (elle) renklerin bir listesini oluşturun ve daha sonra rastgele birini seçin.

Sen bunları da birbirleri ile kontrast ve beyaz karanlık tarafta olmak istiyorsanız renkleri ile çok rastgele gitmek istemiyorum.

Bu rastgele bir başlangıç ​​pozisyonundan içlerinden bir renk dizisi, ve döngüsü önceden tanımlamayı daha iyi olabilir, bu yüzden tüm set atanmıştır kadar hiçbiri tekrar edilecektir.