Mercurial > traipse_dev
diff orpg/tools/rgbhex.py @ 0:4385a7d0efd1 grumpy-goblin
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
author | sirebral |
---|---|
date | Tue, 14 Jul 2009 16:41:58 -0500 |
parents | |
children | dcae32e219f1 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/orpg/tools/rgbhex.py Tue Jul 14 16:41:58 2009 -0500 @@ -0,0 +1,105 @@ +# Copyright (C) 2000-2001 The OpenRPG Project +# +# openrpg-dev@lists.sourceforge.net +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +# -- +# +# File: rgbhex.py +# Author: Chris Davis +# Maintainer: +# Version: +# $Id: rgbhex.py,v 1.10 2007/02/19 16:33:20 digitalxero Exp $ +# +# Description: rgb to hex utility + +from orpg.orpg_wx import * + + +##################### +## RPGHex Tool +##################### + +class RGBHex: + "Tools for Converting from hex to rgb and versa vicea" + + def rgb_tuple(self,hexnum): + red = self.c2rgb(hexnum[1:3]) + green = self.c2rgb(hexnum[3:5]) + blue = self.c2rgb(hexnum[5:7]) + #print "Converted %s to %s, %s, %s" % (hexnum, red, green, blue) + return (red, green, blue) + + def hexstring(self, red, green, blue): + hexcolor = "#" + self.c2hex(red) + hexcolor = hexcolor + self.c2hex(green) + hexcolor = hexcolor + self.c2hex(blue) + return hexcolor + + def c2rgb(self,num): + "Converts from hex to rgb" + first = num[0] + second = num[1] + s = 0 + if first == 'a': s = 10 * 16 + elif first == 'b': s = 11 * 16 + elif first == 'c': s = 12 * 16 + elif first == 'd': s = 13 * 16 + elif first == 'e': s = 14 * 16 + elif first == 'f': s = 15 * 16 + else: s = s+ int(first) * 16 + if second == 'a': s = s + 10 + elif second == 'b': s = s + 11 + elif second == 'c': s = s + 12 + elif second == 'd': s = s + 13 + elif second == 'e': s = s + 14 + elif second == 'f': s = s + 15 + else: s = s + int(second) + return s + + def c2hex(self,num): + "Converts from RGB to Hex" + first = num/16 + second = num%16 + s = "" + if first == 10: s = s+"a" + elif first == 11: s = s+"b" + elif first == 12: s = s+"c" + elif first == 13: s = s+"d" + elif first == 14: s = s+"e" + elif first == 15: s = s+"f" + else: s = s+ str(first) + if second == 10: s = s+"a" + elif second == 11: s = s+"b" + elif second == 12: s = s+"c" + elif second == 13: s = s+"d" + elif second == 14: s = s+"e" + elif second == 15: s = s+"f" + else: s = s+ str(second) + return s + + def do_hex_color_dlg(self, parent): + data = wx.ColourData() + data.SetChooseFull(True) + dlg = wx.ColourDialog(parent, data) + if dlg.ShowModal() == wx.ID_OK: + data = dlg.GetColourData() + (red,green,blue) = data.GetColour().Get() + hexcolor = self.hexstring(red, green, blue) + dlg.Destroy() + return hexcolor + else: + dlg.Destroy() + return None