使用jQuery获取样式中的background-color的值时发现在获取到的颜色值在IE10以下版本中是以HEX格式显示#ffff00,而IE10,、Chrome、Firefox中则是以GRB格式显示rgb(255,0,0),由于需要对颜色值进行判断处理,所以需要得到统一的颜色格式,最好是HEX格式的,方便处理点。搜索了一下,从国外的一个网站上得到一段代码:
代码如下:
$fngetHexBackgroundColor = function() {
var rgb = $(this)css('background-color');
rgb = rgbmatch(/^rgb((d+),s(d+),s(d+))$/);
function hex(x) {return ("0" + parseInt(x)toString(16))slice(-2);}
return rgb= "#" + hex(rgb[1]) + hex(rgb[2]) + hex(rgb[3]);
}
上面定义的是一个jQuery函数,我们可以通过 $("#bg")getHexBackgroundColor(); 获取到标签id="bg"的background-color的RGB值。
下面做一下小小的修改,就是加一个判断,如果是显示HEX值(IE10以下)就直接拿值,如果是非IE浏览器则将值转换成RGB格式:
代码如下:
$fngetBackgroundColor = function() {
var rgb = $(this)css('background-color');
if(rgb >= 0) return rgb;//如果是一个hex值则直接返回
else{
rgb = rgbmatch(/^rgb((d+),s(d+),s(d+))$/);
function hex(x) {return ("0" + parseInt(x)toString(16))slice(-2);}
rgb= "#" + hex(rgb[1]) + hex(rgb[2]) + hex(rgb[3]);
}
return rgb;
}
河南新华电脑网络运营协会为您解答
要使用GetPixel函数来取得像素的颜色值,代码如下:
private void button1_Click(object sender, EventArgs e){
Color color = new Bitmap(pictureBox1Image)GetPixel(10, 10);
MessageBoxShow(colorToString());
}
效果见下图:
使用AutoCAD中的API函数可以获得CAD颜色对话框中的颜色。具体步骤如下:
1、调用AutoCAD中的函数“acedGetColor”,该函数可以从颜色对话框中获取当前颜色值;
2、通过调用函数“acedGetColor”,可以获得颜色对话框中的颜色值,这个颜色值是一个整数,可以使用这个整数计算出对应的RGB值;
3、使用RGB值可以计算出对应的颜色,从而获得CAD颜色对话框中的颜色。
加个判断这个颜色值用抓抓获取
if GetColor="**的颜色值" then
Call PluginBkgndKeyPress(459470, 75)
else
Call PluginBkgndKeyPress(459470, 74)
end if
你的pDC应该是对话框的吧,WindowsMediaPlar插件是对话框上的另一个子窗口,所以要取得WindowsMediaPlar插件的pDC才行
WindowsMediaPlar插件的窗口句柄hwnd,pDC=GetDC(hwnd)
以上就是关于如何用浏览器采集颜色获取多种颜色代码全部的内容,包括:如何用浏览器采集颜色获取多种颜色代码、C#中 怎么获得某一个控件中图片的某一点像素的颜色值啊、cad二次开发怎么获得cad颜色对话框中的颜色等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)