问题列表 - 第39053页

寻找最近的RGB颜色

有人告诉我使用距离公式来找出颜色是否匹配另一个我所拥有的,

struct RGB_SPACE
{
    float R, G, B;
};

RGB_SPACE p = (255, 164, 32);  //pre-defined
RGB_SPACE u = (192, 35, 111);  //user defined

long distance = static_cast<long>(pow(u.R - p.R, 2) + pow(u.G - p.G, 2) + pow(u.B - p.B, 2));
Run Code Online (Sandbox Code Playgroud)

这给出了一个距离,但我怎么知道颜色是否与用户定义相匹配至少25%?

我不确定,但我有一个想法,检查每个颜色值,看看差异是否为25%.例如.

float R = u.R/p.R * 100;
float G = u.G/p.G * 100;
float B = u.B/p.B * 100;

if (R <= 25 && G <= 25 && B <= 25)
{
   //color matches with pre-defined color.
}
Run Code Online (Sandbox Code Playgroud)

c++ rgb colors

5
推荐指数
1
解决办法
3280
查看次数

javascript库

哪个javascript库是最推荐的,为什么?

javascript

0
推荐指数
1
解决办法
322
查看次数

使用Visual Studio 2010,如何链接到Visual Studio 2008生成的DLL

我的问题是:

  • 是否可以使用VS2010链接到VS2008生成的DLL?

  • 如果没有,为什么似乎可以链接到VS2008生成的静态库.

  • 我看到VS2010现在有一个Platform Toolset选项.但是,即使他们没有安装VS2008,人们会将它设置为v90而不是v100吗?

  • 即使我使用/ Z7编译器开关,为什么我仍然需要一个.pdb来调试DLL.

细节

我可以使用Visual Studio 2010链接到Visual Studio 2008生成的Leptonica C静态库,没有任何问题.(有关如何构建Leptonica并链接到它的详细信息,请参阅下面的参考部分.)

但是,当我尝试将同一程序(leptonlib-1.67\prog\ioformats_reg.c)与我的VS2008生成的Leptonica DLL版本链接时程序崩溃.调试,我可以看到问题是ioformats_reg.c这样做:

fp = fopen(filename, "rb"); /* in ioformats_reg.c */
Run Code Online (Sandbox Code Playgroud)

不久之后,在leptonlib.dll中完成以下操作,崩溃:

rewind(fp);                 /* in leptonlib.dll */
Run Code Online (Sandbox Code Playgroud)

如何链接正确的C运行时(CRT)库 说:

可重用的库及其所有用户应使用相同的CRT库类型,因此编译器切换相同...

如果您确实选择混合使用CRT库,请记住您有两个独立的CRT副本,具有独立且不同的状态,因此您必须小心尝试跨越CRT边界.有两种方法可以解决两个CRT的问题.这里仅仅是少数:

  • 有两个单独的堆.您不能分配(显式地使用new,malloc等 - 或者使用strdup,strstreambuf :: str等隐式),然后将指针传递给要释放的CRT边界.
  • 您不能跨CRT边界传递FILE*或文件句柄,并期望"stdio低级IO"工作.
  • 您不能将语言环境设置为一个,并期望设置另一个语言环境.

从Visual C++ 4.0开始,如果生成的模块尝试组合CRT库的多个副本,链接器将发出警告(LNK4098).有关更多信息,请在LNK4098的帮助文件中搜索.

但我没有从VS2010链接器收到任何LNK4098错误消息.

Leptonica使用fopen(),rewind(),fclose()等文档归类为Stream I/O而不是"低级别IO",但那些传递了FILE ptrs.我想这就是微软在说"stdio低级IO"时的意思.

/ MD,/ MT,/ LD(使用运行时库)说:

传递给链接器的给定调用的所有模块必须使用相同的运行时库编译器选项(/ MD,/ MT,/ LD)进行编译.

并不是说所有模块都必须由相同版本的编译器编译.我对所有模块都使用/ MD(或/ MDd)一致且正确.

当使用DLL时,似乎DLL不仅必须使用相同的/ MD交换机,而且它们也必须由VS2010编译?

我的测试用例似乎表明与VS2008生成的静态库链接有效,但也许我很幸运?为什么链接到VS2008生成的静态库工作,而链接到VS2008生成的DLL不使用VS2010?

这是否意味着我需要运送单独的DLL供VS2008和VS2010用户使用?


那么新的Platform Toolset选项呢?VS2010用户可以将其更改为v900,即使他们没有VS2008吗?如果是这样,那么我可以告诉人们改变我的Leptonlib-1.67项目的设置.


最后,我在创建库时使用/ Z7开关./ Z7,/ Zi,/ ZI(调试信息格式)中的文档指出:

/ …

dll linker visual-studio-2010 visual-studio-2008 visual-c++

12
推荐指数
2
解决办法
1万
查看次数

MySQL中的存储过程与触发器

在MySQL世界中,STORED PROCEDURES如何与TRIGGERS不同?

mysql sql triggers stored-procedures

4
推荐指数
1
解决办法
1万
查看次数

带有水槽的分布式记录

我有一个分布在7台服务器上的移动服务,每台服务器都在执行特定的任务.我想记录他们的信息,然后从他们那里获取商业智能.我把它四舍五入到Flume.我如何使用它来收集信息?我的系统是用PHP编写的.flume是否适用于PHP?

php mysql logging flume

7
推荐指数
2
解决办法
4161
查看次数

在页面底部放置一个栏

无论页面的高度和设备显示高度如何,我都需要在页面底部放置一个固定栏以显示新闻标题.

我怎么能用CSS做到这一点?

css

6
推荐指数
1
解决办法
3万
查看次数

XmlDocument.SelectSingleNode和xmlNamespace问题

我正在将字符串加载到包含以下结构的XML文档:

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">                  
  <ItemGroup>
    <Compile Include="clsWorker.cs" />        
  </ItemGroup>      
</Project>
Run Code Online (Sandbox Code Playgroud)

然后我将所有加载到xmldocument:

XmlDocument xmldoc = new XmlDocument();
xmldoc.LoadXml(Xml);
Run Code Online (Sandbox Code Playgroud)

然后出现以下问题:

XmlNode Node = xmldoc.SelectSingleNode("//Compile"); // return null
Run Code Online (Sandbox Code Playgroud)

当我从根元素(Project)中删除xmlns属性时,它的工作正常,如何改进我的SelectSingleNode以返回相关元素?

c# xml xmldocument selectnodes selectsinglenode

44
推荐指数
3
解决办法
6万
查看次数

密码保护在Nginx和Phusion Passenger上运行的Rails站点

我想用基本的http身份验证保护我新部署的Rails 3应用程序.它运行在最新的Nginx/Passenger上,我使用以下Nginx指令来保护Web根目录:

location = / {
  auth_basic "Restricted";
  auth_basic_user_file htpasswd;
}  
Run Code Online (Sandbox Code Playgroud)

htpasswd文件是使用Apache htpasswd utililty生成的.但是,输入正确的用户名和密码后,我将转移到403 Forbidden错误页面.分析Nginx错误日志显示:

directory index of "/var/www/mysite/public/" is forbidden, client: 108.14.212.10, server: mysite.com, request: "GET / HTTP/1.1", host: "mysite.com"
Run Code Online (Sandbox Code Playgroud)

显然,我不想列出mysite/public目录的内容.如何正确配置以便在输入登录信息后启动Rails应用程序?

deployment ruby-on-rails passenger nginx password-protection

10
推荐指数
2
解决办法
4935
查看次数

截断NSTextView?

我尝试使用defaultParagraphStyle,但我似乎无法使用省略号(...)截断文本的NSTextView(以编程方式添加).

我在initWithFrame(150,20)中设置帧,我还设置了maxSize(150,20).但是,文本只是溢出.如果我设置半个线可见的高度,我可以看到文本的上半部分,但我希望看到文本被省略号截断.

我怎样才能做到这一点?

macos objective-c nstextview

5
推荐指数
2
解决办法
6079
查看次数

如何使用scanf()将数据读入time_t变量?

这段代码给了我警告:

$ cat test.c
#include<stdio.h>
#include<time.h>

int main() {

    time_t t;
    scanf("%lld", &t);
    printf("%lld\n", t);
    return 0;
}
$ gcc test.c -o test
test.c: In function ‘main’:
test.c:7: warning: format ‘%lld’ expects type ‘long long int *’, but argument 2 has type ‘time_t *’
test.c:8: warning: format ‘%lld’ expects type ‘long long int’, but argument 2 has type ‘time_t’
$ 
Run Code Online (Sandbox Code Playgroud)

除了警告之外,代码按预期工作.

我该怎么做才能在编译时得到警告(请不要编译编译器技巧)?

c gcc compiler-warnings

5
推荐指数
1
解决办法
6663
查看次数