RGB颜色表

Color HTML/CSS Name Hex Code#RRGGBB Decimal Code(R,G,B)
Black #000000 (0,0,0)
White #FFFFFF (255,255,255)
Red #FF0000 (255,0,0)
Lime #00FF00 (0,255,0)
Blue #0000FF (0,0,255)
Yellow #FFFF00 (255,255,0)
Cyan / Aqua #00FFFF (0,255,255)
Magenta / Fuchsia #FF00FF (255,0,255)
Silver #C0C0C0 (192,192,192)
Gray #808080 (128,128,128)
Maroon #800000 (128,0,0)
Olive #808000 (128,128,0)
Green #008000 (0,128,0)
Purple #800080 (128,0,128)
Teal #008080 (0,128,128)
Navy #000080 (0,0,128)

 

Color Color Name Hex Code#RRGGBB Decimal CodeR,G,B
maroon #800000 (128,0,0)
dark red #8B0000 (139,0,0)
brown #A52A2A (165,42,42)
firebrick #B22222 (178,34,34)
crimson #DC143C (220,20,60)
red #FF0000 (255,0,0)
tomato #FF6347 (255,99,71)
coral #FF7F50 (255,127,80)
indian red #CD5C5C (205,92,92)
light coral #F08080 (240,128,128)
dark salmon #E9967A (233,150,122)
salmon #FA8072 (250,128,114)
light salmon #FFA07A (255,160,122)
orange red #FF4500 (255,69,0)
dark orange #FF8C00 (255,140,0)
orange #FFA500 (255,165,0)
gold #FFD700 (255,215,0)
dark golden rod #B8860B (184,134,11)
golden rod #DAA520 (218,165,32)
pale golden rod #EEE8AA (238,232,170)
dark khaki #BDB76B (189,183,107)
khaki #F0E68C (240,230,140)
olive #808000 (128,128,0)
yellow #FFFF00 (255,255,0)
yellow green #9ACD32 (154,205,50)
dark olive green #556B2F (85,107,47)
olive drab #6B8E23 (107,142,35)
lawn green #7CFC00 (124,252,0)
chart reuse #7FFF00 (127,255,0)
green yellow #ADFF2F (173,255,47)
dark green #006400 (0,100,0)
green #008000 (0,128,0)
forest green #228B22 (34,139,34)
lime #00FF00 (0,255,0)
lime green #32CD32 (50,205,50)
light green #90EE90 (144,238,144)
pale green #98FB98 (152,251,152)
dark sea green #8FBC8F (143,188,143)
medium spring green #00FA9A (0,250,154)
spring green #00FF7F (0,255,127)
sea green #2E8B57 (46,139,87)
medium aqua marine #66CDAA (102,205,170)
medium sea green #3CB371 (60,179,113)
light sea green #20B2AA (32,178,170)
dark slate gray #2F4F4F (47,79,79)
teal #008080 (0,128,128)
dark cyan #008B8B (0,139,139)
aqua #00FFFF (0,255,255)
cyan #00FFFF (0,255,255)
light cyan #E0FFFF (224,255,255)
dark turquoise #00CED1 (0,206,209)
turquoise #40E0D0 (64,224,208)
medium turquoise #48D1CC (72,209,204)
pale turquoise #AFEEEE (175,238,238)
aqua marine #7FFFD4 (127,255,212)
powder blue #B0E0E6 (176,224,230)
cadet blue #5F9EA0 (95,158,160)
steel blue #4682B4 (70,130,180)
corn flower blue #6495ED (100,149,237)
deep sky blue #00BFFF (0,191,255)
dodger blue #1E90FF (30,144,255)
light blue #ADD8E6 (173,216,230)
sky blue #87CEEB (135,206,235)
light sky blue #87CEFA (135,206,250)
midnight blue #191970 (25,25,112)
navy #000080 (0,0,128)
dark blue #00008B (0,0,139)
medium blue #0000CD (0,0,205)
blue #0000FF (0,0,255)
royal blue #4169E1 (65,105,225)
blue violet #8A2BE2 (138,43,226)
indigo #4B0082 (75,0,130)
dark slate blue #483D8B (72,61,139)
slate blue #6A5ACD (106,90,205)
medium slate blue #7B68EE (123,104,238)
medium purple #9370DB (147,112,219)
dark magenta #8B008B (139,0,139)
dark violet #9400D3 (148,0,211)
dark orchid #9932CC (153,50,204)
medium orchid #BA55D3 (186,85,211)
purple #800080 (128,0,128)
thistle #D8BFD8 (216,191,216)
plum #DDA0DD (221,160,221)
violet #EE82EE (238,130,238)
magenta / fuchsia #FF00FF (255,0,255)
orchid #DA70D6 (218,112,214)
medium violet red #C71585 (199,21,133)
pale violet red #DB7093 (219,112,147)
deep pink #FF1493 (255,20,147)
hot pink #FF69B4 (255,105,180)
light pink #FFB6C1 (255,182,193)
pink #FFC0CB (255,192,203)
antique white #FAEBD7 (250,235,215)
beige #F5F5DC (245,245,220)
bisque #FFE4C4 (255,228,196)
blanched almond #FFEBCD (255,235,205)
wheat #F5DEB3 (245,222,179)
corn silk #FFF8DC (255,248,220)
lemon chiffon #FFFACD (255,250,205)
light golden rod yellow #FAFAD2 (250,250,210)
light yellow #FFFFE0 (255,255,224)
saddle brown #8B4513 (139,69,19)
sienna #A0522D (160,82,45)
chocolate #D2691E (210,105,30)
peru #CD853F (205,133,63)
sandy brown #F4A460 (244,164,96)
burly wood #DEB887 (222,184,135)
tan #D2B48C (210,180,140)
rosy brown #BC8F8F (188,143,143)
moccasin #FFE4B5 (255,228,181)
navajo white #FFDEAD (255,222,173)
peach puff #FFDAB9 (255,218,185)
misty rose #FFE4E1 (255,228,225)
lavender blush #FFF0F5 (255,240,245)
linen #FAF0E6 (250,240,230)
old lace #FDF5E6 (253,245,230)
papaya whip #FFEFD5 (255,239,213)
sea shell #FFF5EE (255,245,238)
mint cream #F5FFFA (245,255,250)
slate gray #708090 (112,128,144)
light slate gray #778899 (119,136,153)
light steel blue #B0C4DE (176,196,222)
lavender #E6E6FA (230,230,250)
floral white #FFFAF0 (255,250,240)
alice blue #F0F8FF (240,248,255)
ghost white #F8F8FF (248,248,255)
honeydew #F0FFF0 (240,255,240)
ivory #FFFFF0 (255,255,240)
azure #F0FFFF (240,255,255)
snow #FFFAFA (255,250,250)
black #000000 (0,0,0)
dim gray / dim grey #696969 (105,105,105)
gray / grey #808080 (128,128,128)
dark gray / dark grey #A9A9A9 (169,169,169)
silver #C0C0C0 (192,192,192)
light gray / light grey #D3D3D3 (211,211,211)
gainsboro #DCDCDC (220,220,220)
white smoke #F5F5F5 (245,245,245)
white #FFFFFF (255,255,255)

Windows 8 x64 安装 DirectX 9.0c 时报错:S1023

Windows 8 x64 安装 DirectX 9.0c 时报错:S1023

解决方法:
卸载 Visual C++ 2010 Redistributable Package version 10.0.40219 (Service Pack 1) from the system (both x86 and x64 if applicable)
即可正常安装

然后再下载安装VC Redist 2010:
http://www.microsoft.com/zh-cn/download/details.aspx?id=8328
http://www.microsoft.com/zh-cn/download/details.aspx?id=13523

PhotoShop CS插件开发

PhotoShop CS的插件开发其实挺简单的,做个原理性的介绍

1、首先,需要从Adobe官网上下载开发工具包(https://www.adobe.com/devnet/photoshop/sdk.html),里面有各种对应版本的的开发包

2、下载解包后,建立目录,有3个文件夹:
documentation:帮助文档,里面都英文,可以细细品味,建议入门者可以忽略,反正我觉得比较难懂
photoshopapi:API库,开发需要调用到的库,不要修改里面的代码
samplecode:例子程序,可以随意地将里面的例子改造成你想要的插件

3、打开samplecode,可以看到各种分类文件夹,对应不同的插件功能,
      其中Output文件侠是用来当作编译输出目录的,
      入门首先需要学习两个插件:getter 和 listener,它们在samplecode\automation目录下

4、getter插件:打开samplecode\automation\getter\win\getter.sln,编译生成插件,放到PS插件目录下试下(你也可以将Output里插件目录设置为PS的增效工具目录),运行PS->文件->自动->getter,然后你会发现桌面上多了个getter.log,该插件的主要目的就是把你当前在PS里打开的文件、图层信息及函数调用方法输出到log里去,所以当你不知道如何获取某个信息时,查找getter.log里对应的函数

5、listener插件:该插件的作用是监听PS里的大部分操作和事件的函数调用过程,并输出到桌面上的listerner.log里,比如你要复制剪切某一图层,而且不知道如何用函数实现它的时候,先使用listener插件,打开PS对图层进行一次复制剪切操作,然后打开listener.log,代码就在那

6、其它的一些插件:可以照着它的英文名大概理解其意思

7、框架:
每个插件里都有个AutoPluginMain,其实就是DLL入口,所谓的插件其实就是个DLL,找几个插件,在AutoPluginMain里加个断点,跟踪一下,看看这些插件都干了些什么
有些插件自带弹框界面,可以用资源管理器编辑,用DialogBoxParam创建你自定义的界面,参考listener里的DoUI函数,makenew里的DoAbout等
几乎所有的API函数都会返回一个SPErr,表示函数调用正确与否
所有的操作都需要有个PIActionDescriptor,可以创建(sPSActionDescriptor->make())或获取(PIUGetInfo())
sPSActionDescriptor是一个接口指针,可以从中获取PIActionDescriptor信息(下面简称desc)以及执行一些操作
sPSActionReference是一个接口指针,用来封装一些信息到desc中,(下面简称refer)
sPSActionControl是一个接口指针,用来Play各种事件
如果要获取信息,可以使用PIUGetInfo系列函数(在PIUGet.h中定义)

8、例子:
获取文件信息:

SPErr error = kSPNoError;
int numDocuments = 0;
error = PIUGetInfo(classApplication, keyNumberOfDocuments, &numDocuments, NULL);    // 获取当前PS里打开的文件数量
......
Auto_Desc descDoc(false);  // 这是一个PIActionDescriptor类型的智能指针,这样就不用但心释放问题
error = PIUGetInfoByIndex(i, classDocument, 0, &descDoc, 0);  // 获取第i个文件的desc,然后再从该desc里获取具体的图层、颜色、alpha等信息
......
double dValue = 0;
DescriptorUnitID unitID = unitDistance;
error = sPSActionDescriptor->GetUnitFloat(descDoc.get(), keyWidth, &unitID, &dValue);   // 获取文件的宽度(即画布大小),同理还有个keyHeight

获取图层信息:


DescriptorTypeID keyLayerSection = 0;
DescriptorTypeID keyLayerStart = 0;
DescriptorTypeID keyLayerEnd = 0;
DescriptorTypeID keyBounds = 0;
PIActionDescriptor descLayer = 0;
int32 numlayers = 0;
error = PIUGetInfoByID(docID, classDocument, keyNumberOfLayers, &numlayers, 0);  // 根据docID(也可以用Index)来获取图层数量
error = PIUGetInfoByIndex(i, classLayer, 0, &descLayer, NULL);	// 当前选中图片文件(指获取焦点)的第i个图层信息
sPSActionControl->StringIDToTypeID("layerSection", &keyLayerSection);
sPSActionControl->StringIDToTypeID("layerSectionEnd", &keyLayerEnd);    // 图层分组的结束标记
sPSActionControl->StringIDToTypeID("layerSectionStart", &keyLayerStart);  // 图层分组的开始标记
sPSActionControl->StringIDToTypeID("bounds",&keyBounds
error = sPSActionDescriptor->GetEnumerated(descLayer, keyLayerSection, &retTypeID, &retEnumID);  // 获取该图层类型,可能是个分组文件夹
if (error || retEnumID == keyLayerEnd || retEnumID == keyLayerStart)GetString(descLayer, keyName, strName, 255); // 获取图层名
error = PIUGetSingleItemFromDescriptor(descLayer, keyBounds, &descKey, &descClass);  // 获取图层大小
double top = 0, left = 0, bottom = 0, right = 0;
// 获取具体的图层大小值
error = sPSActionDescriptor->GetFloat(descKey, keyLeft, &left);
error = sPSActionDescriptor->GetFloat(descKey, keyRight, &right);
error = sPSActionDescriptor->GetFloat(descKey, keyTop, &top);
error = sPSActionDescriptor->GetFloat(descKey, keyBottom, &bottom);

强制 Google.com 域名使用 HTTPS

在地址栏里输入:
chrome://net-internals/#hsts

在 Domain 栏里,输入 google.com ,并勾选下面的两个复选框,点击 “Add” 按钮
在 Domain 栏里,输入 google.com.hk ,并勾选下面的两个复选框,点击 “Add” 按钮

关于双硬盘Windows 8.1 EFI引导分区与Linux共存问题

刚买机器时原装配套的是一块机械硬盘,后来又加了一块固态硬盘,装了3个系统,机械硬盘上装了win8.1和OpenSUSE,固态硬盘上装了Fedora

今天重装了windows和fedora,先安装的windows,等到安装完fedora的时候发现windows引导项不见了

搞了半天原来是我安装fedora的时候把EFI分区格式化了,本来windows的引导程序是不应该写到这个分区的,但是win8.1默认会把引导程序写到第一块硬盘的第一个EFI分区,之前因为只有一块硬盘所以没遇到过这种情况

最后重装了windows,引导项回来了,以后再安装Fedora时不能再格式化EFI分区了

Windows 10离线安装.Net Framework 3.5

如果无法连接到 Internet,则可以通过使用部署映像服务和管理 (DISM) 命令行工具并指定从中安装了 Windows 8 的安装媒体(ISO 映像或 DVD),来启用 .NET Framework 3.5。

在 win10、Windows 8 或 Windows Server 2012 中,使用管理凭据打开命令提示符窗口(即选择“以管理员身份运行”)。
将win10 ISO挂载到盘符
要从位于 D:\sources\sxs 目录中的安装媒体安装 .NET Framework 3.5,请使用以下命令:
DISM /Online /Enable-Feature /FeatureName:NetFx3 /All /LimitAccess /Source:D:\sources\sxs

其中:
/Online 面向您正在运行的操作系统(而不是脱机 Windows 映像)。
/Enable-Feature /FeatureName:NetFx3 指定您需要启用 .NET Framework 3.5。
/All 启用 .NET framework 3.5 的所有上级功能。
/LimitAccess 防止 DISM 与 Windows Update 连接。
/Source 指定还原功能需要的文件位置(在本示例中,系统光盘挂载在D,对应D:\sources\sxs 目录)。
有关 DISM 参数和选项的更多信息,请参见启用或禁用 Windows 功能的方法

openSUSE 13.2/13.1 安装搜狗拼音输入法

1. 添加 M17N 源:
13.2:
sudo zypper ar -f http://download.opensuse.org/repositories/M17N/openSUSE_13.2/ M17N
13.1:
sudo zypper ar -f http://download.opensuse.org/repositories/M17N/openSUSE_13.1/ M17N

sudo zypper ref

2. 安装 sogou-pinyin
sudo zypper in sogou-pinyin

sudo zypper in fcitx-config-kde4

3. 在命令行中依次执行:
fcitx
sogou-qimpanel
查看缺失的lib并安装

Nginx压力测试

1.使用ab:
ubuntu安装ab:
apt-get install apache2-utils
centos安装ab:
yum install httpd-tools

执行压力测试:
ab -c 200 -n 200 http://testsite/

添加 Cookie 参数:
ab -C cookie1_name=cookie1_value -C cookie2_name=cookie2_value ....
或
ab -H "Cookie: cookie1_name=cookie1_value; cookie2_name=cookie2_value"

当出现如下报错:
apr_socket_recv: Connection reset by peer (104)
需要加入-r参数
如ab -r -c 200 -n 200 http://testsite/
2.使用http_load
http://acme.com/software/http_load/

wget http://acme.com/software/http_load/http_load-09Mar2016.tar.gz
tar -xvzf http_load-09Mar2016.tar.gz -C ./
cd http_load-09Mar2016
make

vi urls.txt
添加需要做压测的url

./http_load -p 并发访问进程数 -rate  -s 访问时间(秒) urls.txt
./http_load -r 每秒的访问频率 -s 访问时间(秒) urls.txt
可配合 htop iohtop 同时检测服务器状态
yum install htop iohtop

curl禁用代理:
curl --noproxy 127.0.0.1 http://127.0.0.1/

用QQ国际版替换Longene QQ 2013

QQ 2013 已经不能使用,登陆时会提示版本过旧。可以用 QQ 国际版程序替换。

方法:
下载 QQIntl 安装包和 Longene QQ2013
地址:http://pan.baidu.com/s/1mgHqokC
提取密码:reki

安装好 Longene QQ2013,并且至少运行了一次(因为第一次运行的时候会安装QQ2013)
安装方法可以参考本博客以前的文章:FEDORA 21/20 X64 或 OPENSUSE 13.2/13.1 KDE X64 安装QQ 2013

进入 ~/.longene/qq,找到磁盘目录drive_c,这个就是wine出来的c盘,找到QQ被安装到的地方,一般来说是:
~/.longene/qq/drive_c/Program Files/Tencent/QQ/

这个时候用解压缩软件打开 QQIntl 的 exe 安装文件,发现里面有4项,分别为:
Application Data
Common
LocalAppData
program files

在program files里面,你会找到一个 QQ2009 目录:
/program files/Tencent/QQ2009/

直接把这个 QQ2009 目录复制到 ~/.longene/qq/drive_c/Program Files/Tencent/ 里面,并且替换掉原来的QQ目录(把原来的 QQ 目录删掉或改名,然后把 QQ2009 改名成 QQ )

发现有个 QQDownload 的东西占了很多CPU,所以直接找到这东西删掉了:
~/.longene/qq/drive_c/Program Files/Common Files/Tencent/
里面有个QQDownload文件夹,给他改个名字(或者直接删掉好了)就可以了

启动 QQ,可以通过在终端里执行 qq 来查看是否有缺失的 lib,如果有则需先安装缺失的库
第一次登录后界面会卡住一段时间,请耐心等待,等可以进行操作了,先去设置里把在屏幕边缘时自动隐藏和界面动画关掉,卡住的概率会小一些

消息过多时界面会卡住,把无关紧要的群消息屏蔽掉会好一些

如果2.11版实在太卡可以换成2.0版本

退出时会有进程残留,需要杀掉才能重新登陆,解决方法:
将 ~/.longene/qq/drive_c/Program Files/Tencent/QQ/Bin/TXPlatform.exe 改名,新建一个空文件命名为 TXPlatform.exe,之后使用中可能弹出对话框提示程序文件损坏,无视即可,不影响正常使用