在windows下Python打印彩色字体的方法

yipeiwu_com6年前Python基础

本文讲述了Python在windows下打印彩色字体的方法。分享给大家供大家参考,具体如下:

################################################################# 
import ctypes 
STD_INPUT_HANDLE = -10 
STD_OUTPUT_HANDLE = -11 
STD_ERROR_HANDLE = -12 
FOREGROUND_BLACK = 0x0 
FOREGROUND_BLUE = 0x01 # text color contains blue. 
FOREGROUND_GREEN = 0x02 # text color contains green. 
FOREGROUND_RED = 0x04 # text color contains red. 
FOREGROUND_INTENSITY = 0x08 # text color is intensified. 
BACKGROUND_BLUE = 0x10 # background color contains blue. 
BACKGROUND_GREEN = 0x20 # background color contains green. 
BACKGROUND_RED = 0x40 # background color contains red. 
BACKGROUND_INTENSITY = 0x80 # background color is intensified. 
 class Color: 
 ''''''' See http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winprog/winprog/windows_api_reference.asp 
 for information on Windows APIs.''' 
 std_out_handle = ctypes.windll.kernel32.GetStdHandle(STD_OUTPUT_HANDLE) 
 def set_cmd_color(self, color, handle=std_out_handle): 
 """(color) -> bit 
 Example: set_cmd_color(FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE | FOREGROUND_INTENSITY) 
 """ 
 bool = ctypes.windll.kernel32.SetConsoleTextAttribute(handle, color) 
 return bool 
 def reset_color(self): 
 self.set_cmd_color(FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE) 
 def print_red_text(self, print_text): 
 self.set_cmd_color(FOREGROUND_RED | FOREGROUND_INTENSITY) 
 print print_text 
 self.reset_color() 
 def print_green_text(self, print_text): 
 self.set_cmd_color(FOREGROUND_GREEN | FOREGROUND_INTENSITY) 
 print print_text 
 self.reset_color() 
 def print_blue_text(self, print_text): 
 self.set_cmd_color(FOREGROUND_BLUE | FOREGROUND_INTENSITY) 
 print print_text 
 self.reset_color() 
 def print_red_text_with_blue_bg(self, print_text): 
 self.set_cmd_color(FOREGROUND_RED | FOREGROUND_INTENSITY | BACKGROUND_BLUE | BACKGROUND_INTENSITY) 
 print print_text 
 self.reset_color() 
clr = Color() 
# clr.print_red_text('red') 
# clr.print_green_text('green') 
# clr.print_blue_text('blue') 
# clr.print_red_text_with_blue_bg('background') 
################################################################# 

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对【听图阁-专注于Python设计】的支持。

相关文章

Python用61行代码实现图片像素化的示例代码

Python用61行代码实现图片像素化的示例代码

起因 看到网上的像素图片,感觉蛮有趣的,就打算用python一些PIL类库写一个。 实现思路 把一张图片分成多个块,每个块的颜色都等于这个色块中颜色最多的颜色,如下图。 这个图...

python 检查文件mime类型的方法

magic 模块可以检查文件的mime类型,而不是从后缀名来判断,例如判断文件是不是视频或图片类型如下: #检查文件类型 mime_type = magic.from_file(fu...

对Python信号处理模块signal详解

Python中对信号处理的模块主要是使用signal模块,但signal主要是针对Unix系统,所以在Windows平台上Python不能很好的发挥信号处理的功能。 要查看Python中...

Python中出现IndentationError:unindent does not match any outer indentation level错误的解决方法

Python中出现IndentationError:unindent does not match any outer indentation level错误的解决方法

今天在网上copy的一段代码,代码很简单,每行看起来该缩进的都缩进了,运行的时候出现了如下错误:  【解决过程】  1.对于此错误,最常见的原因是,的确没有缩进。...

python保存二维数组到txt文件中的方法

一个非常繁琐粗暴的方法,python属于入门级水平,就酱先备份一下,如果有更好的方法再更新 arrs=[[2,15,48,4,5],[6,7,6,4,1],[2,3,6,6,7],[...