我正在查看描述牙科中用于描述牙齿颜色的标准颜色的文件.他们引用色调,值,色度值,并指出它们来自1905年Munsell的颜色描述:
AH Munsell在1905年开发的颜色符号系统根据三个属性识别颜色:HUE,VALUE(亮度)和CHROMA(饱和度)[ 15 ]
HUE(H):Munsell将色调定义为我们将一种颜色与另一种颜色区分开来的质量.他选择了五种主要颜色:红色,黄色,绿色,蓝色和紫色; 五种中间色:黄红色,绿黄色,蓝绿色,紫蓝色和红紫色.它们被放置在相同点的色环周围,这些点之间的颜色是两者的混合,有利于更接近的点/颜色(见图1).
VALUE(V):此符号表示颜色相对于中性灰度的亮度或暗度,中性灰度从绝对黑色(值符号0)延伸到绝对白色(值符号10).这实际上是颜色的"明亮"程度.
CHROMA(C):这表示给定色调与相同值的中性灰色的发散程度.根据要评估的样品的强度(饱和度),色度的范围从0变为中性灰色到10,12,14或更远.
有各种用于分类颜色的系统,Vita系统最常用于牙科.这使用字母A,B,C和D来表示牙齿的色调(颜色).色度和值均由1到4的值表示.A1比A4轻,但A4比A1更饱和.如果按照值(即亮度)的顺序放置,从最亮到最暗的顺序将是:
A1,B1,B2,A2,A3,D2,C1,B3,D3,D4,A3.5,B4,C2,A4,C3,C4
每种色调的色调,值和色度的确切值如下所示(16)
所以我的问题是,任何人都可以将Munsell HVC转换为RGB,HSB或HSL吗?
Hue Value (Brightness) Chroma(Saturation)
=== ================== ==================
4.5 7.80 1.7
2.4 7.45 2.6
1.3 7.40 2.9
1.6 7.05 3.2
1.6 6.70 3.1
5.1 7.75 1.6
4.3 7.50 2.2
2.3 7.25 3.2
2.4 7.00 3.2
4.3 7.30 1.6
2.8 6.90 2.3
2.6 6.70 2.3
1.6 6.30 2.9
3.0 7.35 1.8
1.8 7.10 2.3
3.7 7.05 2.4
Run Code Online (Sandbox Code Playgroud)
他们说价值(亮度)不同0..10,这很好.所以我认为7.05意味着70.5%. …
我决定不久前开始学习装配,所以我开始使用FASMW进行16位装配.HOwever,我最近得到了一台运行Windows 7 64位的新计算机,现在程序组装的所有已编译的.COM文件都不再有效.他们给出一条错误消息,指出.COM与64位窗口不兼容.32位程序集仍然有效,但是我宁愿从16开始工作......是否有可能在Windows 7上运行16位程序?或者是否有特定的方法来编译它们?或者我应该放弃并跳到32位而不是?
我想知道目录上次修改日期何时被更改.我修改了特定目录中的文件(通过FTP),但目录的LMD没有改变.如何运作?
我在网上找到了一些我想要使用的代码.
$(document).ready(function() {
$(".fbreplace").html.replace(/<!-- FBML /g, "");
$(".fbreplace").html.replace(/ -->/g, "");
$(".fbreplace").style.display = "block";
});
Run Code Online (Sandbox Code Playgroud)
问题是浏览器认为
<!--
Run Code Online (Sandbox Code Playgroud)
是一个真正的评论.我怎么引用它来告诉浏览器查找该字符串并且它不是真正的评论?
可以从函数返回对局部变量的引用吗?通过本地我的意思是变量将在函数内创建(在堆栈上,即不使用new),并且其范围仅在该函数内.当我搜索这个时,我得到了相互矛盾的答案.1)说这种用法是正确的,但2)与之相矛盾.
1)http://functionx.com/cpp/examples/returnreference.htm
2)http://www.cprogramming.com/tutorial/references.html(参考和安全部分下)
哪一个是对的?
我的另一个问题是,如果1)是正确的,那么以下是相同的目的.
i)int&a = func();
ii)int a = func(); 其中func()返回对int的引用(该函数中的局部变量).
在上述两种情况下,都没有复制涉及的返回值.我想防止复制返回值,因为返回值可能很大.
先感谢您.
Raghava.
可能重复:
C的智能指针/安全内存管理?
我有一个嵌入式应用程序,我在动态内存中分配一个对象并将其传递给其他模块.
我想创建一个指向这个对象的智能指针.C++中有许多用于使用和实现智能指针的示例.
我正在寻找一个只有C语言的智能指针实现.
谢谢.
Checkstyle抱怨以下内容:
return (null == a ? a : new A());
Run Code Online (Sandbox Code Playgroud)
并且说这些是不必要的.
虽然声明在没有它们的情况下确实可以正常工作,但它们在现在看起来更具可读性 - 否则当我读它时我倾向于看到:
return null
Run Code Online (Sandbox Code Playgroud)
首先,然后必须暂停考虑剩下的
== a ? a : new A();
Run Code Online (Sandbox Code Playgroud)
部分,因为我的大脑已经走了一条路.
此外,每当我看到三元运算符时,我倾向于做同样的事情,除非它被分组为parens.
所以:围绕三元的parens应该是事实上的标准吗?有没有理由不把它们放在那里?
我指的是Windows 7.
我有一些代码将某个扩展名与我的应用程序相关联,如webJose在下一页所提出的: 哪些注册表项负责文件扩展名关联? (但我按照建议正确写入HKEY_CURRENT_USER\Software\Classes而不是HKEY_CLASSES_ROOT)
以上工作最初,或者如果没有与扩展相关联的其他程序.但是,在使用Windows 7内置的"选择默认程序..."(在"打开方式"下的文件右键单击上下文菜单下找到)后,它会将扩展名与您选择的任何新程序重新关联.
此时发生的情况是系统更改了"HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts \\ UserChoice",因此新选择的程序将接管.
运行上面的代码,重新获得对扩展的控制将无法正常工作.重新获得控制权的唯一方法是:
我的问题是:有没有办法以编程方式实现这一目标?在与另一个程序关联后,可以更改哪些注册表值以重新获得对扩展的控制权?
我知道很明显,如果用户通过资源管理器将关联的应用程序设置为扩展,那么预期它会以相同的方式再次将扩展重新关联到不同的应用程序.
但问题是我的应用程序中有一个按钮,它使用上面提到的代码来检查与我的应用程序的扩展关联.不幸的是,在上述情况下,我的应用程序会显示一条消息,确认扩展已经成功关联,而不是!那么有办法解决这个问题吗?
由于长度是一种通用方法,为什么我不能这样做
length.character <- nchar
Run Code Online (Sandbox Code Playgroud)
?似乎字符串在R中被特殊处理.这是有原因的吗?你会不鼓励定义head.character和tail.character等函数吗?
将不胜感激任何关于使用哪个函数的指针:
说我有这样的事情:
<div class="myTweet">Check out this awesome link <a href="http://bit.ly/uglylookinglink>http://bit.ly/uglylookinglink</a></div>
Run Code Online (Sandbox Code Playgroud)
其中包括:
看看我的真棒链接http://bit.ly/uglylookinglink
我想要做的就是将标记移动到包含div的前面,以便整个句子成为链接,并删除随附的可怕的http://bitl.y链接.
所以事后看起来像这样:
<div class="myTweet"><a href="http://bit.ly/uglylookinglink>Check out this awesome link </a></div>
Run Code Online (Sandbox Code Playgroud)
然后会读到:
看看我真棒链接
这可能很容易,但我找不到正确的方法.
谢谢,马克