Python实现HTML颜色和RGB颜色互转的方法,pythonrgb,本文是关于Python实
Python实现HTML颜色和RGB颜色互转的方法,pythonrgb,本文是关于Python实
本文是关于Python实现HTML颜色和RGB颜色互转的方法,提供源码参考。在网上有看到过RGB颜色值转换成十六进制颜色码的工具,感觉不错,自己也试着也了一个类似的HTML颜色和RGB颜色互转的Python方法的实现。
Python实现HTML颜色和RGB颜色互转的方法,python源码如下:
#coding=utf-8def RGBToHTMLColor(rgb_tuple): """ convert an (R, G, B) tuple to #RRGGBB """ hexcolor = '#%02x%02x%02x' % rgb_tuple # that's it! '%02x' means zero-padded, 2-digit hex values return hexcolordef HTMLColorToRGB(colorstring): """ convert #RRGGBB to an (R, G, B) tuple """ colorstring = colorstring.strip() if colorstring[0] == '#': colorstring = colorstring[1:] if len(colorstring) != 6: raise ValueError, "input #%s is not in #RRGGBB format" % colorstring r, g, b = colorstring[:2], colorstring[2:4], colorstring[4:] r, g, b = [int(n, 16) for n in (r, g, b)] return (r, g, b)def HTMLColorToPILColor(colorstring): """ converts #RRGGBB to PIL-compatible integers""" colorstring = colorstring.strip() while colorstring[0] == '#': colorstring = colorstring[1:] # get bytes in reverse order to deal with PIL quirk colorstring = colorstring[-2:] + colorstring[2:4] + colorstring[:2] # finally, make it numeric color = int(colorstring, 16) return colordef PILColorToRGB(pil_color): """ convert a PIL-compatible integer into an (r, g, b) tuple """ hexstr = '%06x' % pil_color # reverse byte order r, g, b = hexstr[4:], hexstr[2:4], hexstr[:2] r, g, b = [int(n, 16) for n in (r, g, b)] return (r, g, b)def PILColorToHTMLColor(pil_integer): return RGBToHTMLColor(PILColorToRGB(pil_integer))def RGBToPILColor(rgb_tuple): return HTMLColorToPILColor(RGBToHTMLColor(rgb_tuple))#www.iplaypy.comimport Imagedef getRGBTupleFromImg(file_obj, coords=(0,0)): """ Extract an #RRGGBB color string from given pixel coordinates in the given file-like object. """ pil_img = Image.open(file_obj) pil_img = pil_img.convert('RGB') rgb = pil_img.getpixel(coords) return rgbif __name__ == '__main__': htmlcolor = '#ff00cc' pilcolor = HTMLColorToPILColor(htmlcolor) rgb = HTMLColorToRGB(htmlcolor) print pilcolor print htmlcolor print rgb print PILColorToHTMLColor(pilcolor) print PILColorToRGB(pilcolor) print RGBToPILColor(rgb) print RGBToHTMLColor(rgb) print img = open('/tmp/bkg.gif', 'r') print getRGBTupleFromImg(img, (0,0))
编橙之家文章,
相关内容
- Python随机产生迷宫生成算法源码,python算法,用Python语言
- Python方法如何将普通IP转换为十进制IP,python十进制,P
- Python组合生成与数量计算的实现方法,python组合数量计
- Python实现Windows自动切换代理的方法,python自动切换,本
- Python常见排序算法实现与测速源码,python测速,Python常见
- Python统计代码行数的快捷方法,python统计行数,想知道一
- 如何用Python方法获取图片的准确尺寸,,Python如何获取图
- 把Gmail邮件转发到gtalk的Python方法,gtalkpython,用Python方法
- Python取出指定文本中出现频率最大值的方法,python最大
- 如何用Python来计算已经过去的时间,python已经过去,如何
评论关闭