Convert RGB value to Hex

From Scribus Wiki
Jump to navigation Jump to search
This article is part of the Scripts series.

This is a simple script that does one function: converts RGB decimal values to hex. As initially created, it will only do one value at a time. While it would be nice to allow this to remain open while you work with Scribus, this initial version will have to be closed to carry out any Scribus operations.


  • Start the script – there are no requirements other than running it from Scribus. One could certainly alter this to run outside of Scribus by eliminating the valueDialog and messageBox features.
  • Enter an RGB decimal value in the initial dialog. If you enter nothing, the value '255' is the default. Values greater than 255 default to 255, less than 0 to 0.
  • When you are finished, enter '0' (the number zero, not the letter O).
#!/usr/bin/env python

# simple utility to convert rgb values to hex 
# within Scribus

import scribus

colorN = 255
while colorN != 0:
    color = scribus.valueDialog('Color Values','Enter the RGB value, 0 to quit')
    if color == '': color = '255'
    colorN = int(color)
    if colorN > 255: color = '255'; colorN = 255
    if colorN < 0: color = '0'; colorN = 0
    hexN = hex(colorN)
    hexN = hexN.lstrip('0x')
    if len(hexN) == 1: hexN = '0' + hexN
    result = scribus.messageBox ('Hex Value','RGB value of '+ color + ' is \n Hex value of '+ hexN,scribus.BUTTON_OK)

To Do

  • I would like to add the ability to enter the complete RGB values for a given color. Just needs some parsing, maybe a tuple.