How to generate a random HEX RGB color code in C++

2 Answers

0 votes
#include <iostream>
#include <cstdlib>
#include <ctime>

void generateRandomHEXColorCode(char hex[]) {
   const char hexChars[] = "0123456789ABCDEF";
   
   for (int i = 0; i < 6; i++) {
       hex[i] = hexChars[rand() % 16]; 
   }
}

int main() {
   char hex[7] = {0}; 
   
   srand(time(0)); 
   
   generateRandomHEXColorCode(hex);
   
   std::cout << "Random HEX Color: #" << hex << "\n";
}


/*
run:

Random HEX Color: #E78C75

*/

 



answered 8 hours ago by avibootz
0 votes
#include <iostream>
#include <random>
#include <iomanip> // For formatting output // setw // setfill

int generateRandomNumber(int min, int max) {
    // Use a random device to seed the random number generator
    std::random_device rd;
    std::mt19937 gen(rd()); 
    std::uniform_int_distribution<> dis(min, max);
    return dis(gen);
}

// Function to generate a random RGB color
void generateRandomRGBColor() {
    // Generate random values for Red, Green, and Blue channels
    int red = generateRandomNumber(0, 255);
    int green = generateRandomNumber(0, 255);
    int blue = generateRandomNumber(0, 255);

    // Print the HEX color code
    std::cout << "HEX Color Code: #" 
              << std::hex << std::setw(2) << std::setfill('0') << red
              << std::setw(2) << std::setfill('0') << green
              << std::setw(2) << std::setfill('0') << blue
              << std::dec << std::endl; // Switch back to decimal formatting
}

int main() {
    generateRandomRGBColor();
}


/*
run:

HEX Color Code: #38ce06

*/

 



answered 8 hours ago by avibootz
...