imgcolorallocate wrapper that allows hex values instead of RGB

/ Published in: PHP
Save to your folder(s)

This function will allow you to use '#ABCDEF' or '0xEEFF33' instead of the RGB values required for imagecolorallocate() by stripping away any non hex characters. It will also check and make sure that it's a valid 6 digit hex value after the stripping of non-hex characters takes place.

it simply uses the function hexdec() to convert each R, G, and B hex values to decimal, and then passes them to imagecolorallocate() individually.

See the page:
to learn how to use this wrapper function.

Copy this code and paste it in your HTML
  1. function img_colorallocate($img, $color) {
  2. // strip away any non hex characters, to allow flexibility with the function
  3. $color = ereg_replace('[^A-Fa-f0-9]|(0x)|(0X)', '', $color);
  4. if ( strlen($color) != 6 || !preg_match('/[0-9a-fA-F]{6}/', $color) ) {
  5. die("The value provided does not contain a valid 6 digit hex value.");
  6. }
  7. $img,
  8. hexdec($color[0] . $color[1]),
  9. hexdec($color[2] . $color[3]),
  10. hexdec($color[4] . $color[5])
  11. );
  12. return $color;
  13. }


Report this snippet


RSS Icon Subscribe to comments

You need to login to post a comment.