Comment puis-je générer une couleur hexadécimale aléatoire avec ruby?Ruby, Générer une couleur hexadécimale aléatoire
Répondre
Voici une façon:
colour = "%06x" % (rand * 0xffffff)
Vous pouvez générer chaque composant indépendamment:
r = rand(255).to_s(16)
g = rand(255).to_s(16)
b = rand(255).to_s(16)
r, g, b = [r, g, b].map { |s| if s.size == 1 then '0' + s else s end }
color = r + g + b # => e.g. "09f5ab"
Ceci est considérablement plus personnalisable, mais la solution de Jeremy est beaucoup plus concise. – Benson
Pour une longueur d'octet arbitraire (remplacez 3 w/nombre d'octets): '" ".tap {| s | 3.times {s << ("% 02x"% rand (255))}} ' –
mais c'est toujours une façon cool de le faire, bravo pour la lisibilité. –
SecureRandom.hex(3)
#=> "fef912"
Le module SecureRandom
fait partie de la bibliothèque standard de Ruby
require 'securerandom'
Il est autoloade d dans Rails, mais si vous utilisez Rails 3.0 ou moins, vous devrez utiliser
ActiveSupport::SecureRandom.hex(3)
Si vous allez utiliser cette option, vous devrez ajouter hex avec "#". Fonctionne bien, n'oubliez pas le symbole de hachage au début. –
- 1. Générer une branche d'arbre aléatoire
- 2. Générer une énumération aléatoire en C# 2.0
- 3. Conversion couleur uint à ARVB hexadécimale pour la couleur kml
- 4. Pourcentage de la valeur de couleur hexadécimale
- 5. Comment générer une valeur hexadécimale de 8 octets?
- 6. Algorithme de couleur aléatoire stable
- 7. Générer chaîne aléatoire, sans SecureRandom
- 8. Quel est le moyen le plus court pour générer une adresse IP aléatoire dans Ruby?
- 9. Rendu d'une chaîne en tant que valeur hexadécimale couleur dans Ruby on Rails
- 10. Compression d'une chaîne hexadécimale dans Ruby/Rails
- 11. Conversion d'un nombre entier en une chaîne hexadécimale dans Ruby
- 12. Comment calculer une couleur facile à lire pour une couleur de fond aléatoire?
- 13. générer une valeur aléatoire pour champ d'entrée caché
- 14. Java: Générer un nombre aléatoire avec une distribution logarithmique
- 15. Comment générer une décimale positive ou négative aléatoire?
- 16. générer un seul nombre aléatoire dans une vue en xcode
- 17. Générer un terrain aléatoire dans Blender3D
- 18. Représentation hexadécimale d'une couleur avec un canal alpha?
- 19. Comment générer pseudo-aléatoire dans cuda
- 20. Formule Pour calculer l'inverse ("Différence") pour la couleur hexadécimale
- 21. Générer un nombre aléatoire avec une longueur de nombre aléatoire dans Objective-C
- 22. Comment générer un nombre aléatoire en C#?
- 23. Générer un index aléatoire pour un tableau
- 24. Didacticiel Ruby on Rails - générer une question
- 25. Générer dynamiquement une matrice multidimensionnelle dans Ruby
- 26. Conversion de la couleur hexadécimale en RVB et vice versa
- 27. Appliquer la couleur aléatoire aux éléments de classe individuellement?
- 28. Comment créer une extension Visual Studio pour afficher un bloc de couleur sur une valeur hexadécimale?
- 29. Incrémenter une valeur hexadécimale (JAVA)
- 30. WPF: Liaison d'une couleur d'arrière-plan de listviewitem à une propriété de chaîne hexadécimale d'un objet
Quelqu'un pourrait-il l'expliquer (en particulier le "% 06x"? – Dorian
La méthode [% method] (http://ruby-doc.org/core-1.9.3/String.html#method-i-25) on String utilise le "% 06x" signifie: formater un nombre en hexadécimal, 6 caractères (chiffres dans ce cas) large, 0 rembourré –