2012-03-09 27 views
0

我喜欢在生成QR码时使用四种颜色并正确解码。任何想法都可以在C sharp中更改生成算法,以获得更多颜色的正确编码。在QR码编码算法中添加更多颜色

+0

你的意思是生成四种颜色一个单独的方块编码额外的数据? (四个包括白色,还是你的意思是五个州?)你有什么样的建议? – Rup 2012-03-09 13:03:11

+0

是的,我喜欢生成各个方块来编码额外的数据,其中四个包括白色。我喜欢在编码区域添加颜色,使标准格式区域与标准QR代码保持相同的颜色。 – 2012-03-09 13:08:08

回答

0

你的意思是说你想简单地生成一个不是黑白的颜色的QR码?这很容易。使用深色代替黑色,使用浅色代替白色。您只需更改生成器使用的RGB值。这需要修改源代码,通常是

如果你的意思是你想修改QR代码生成器来通过颜色来编码数据,那么你可以这样做,但它会是一种新的格式,而不是QR代码了。

+0

我希望生成更多颜色的qr代码。因此,数据容量会增加。如果使用4种颜色,容量会增加两倍。我在比特位置上存在问题。在标准的QR码中,1位存储在1个模块中。现在,我必须在模块中放置两位。请给我建议一些可能的解决方案,以便将模块放置在模块中。谢谢.. – 2012-03-10 00:15:58

+1

您正在发明一种新格式 - 您可以随心所欲地做任何事情,但我无法告诉您格式是如何工作的。您应该首先通过阅读ISO规范了解QR码格式的工作原理。当然,您生成的QR码根本不是QR码,并且不会被任何读卡器软件读取。 – 2012-03-10 06:14:29

+0

正如你所说,它不会被任何读卡器软件读取,我也必须在解码器应用程序中进行更改。我已阅读ISO规范。像位置检测,定时,对齐等原始模式将保持不变。在掩蔽技术中将会有2位反转而不是1。我正在使用zxing c sharp代码。谢谢你的答案。 – 2012-03-10 12:27:54

0

这与Microsoft Tag用来做什么非常相似。现在已经死了,但也许它会引发一些想法的人的新格式

tag

private void CreateTag() 
{ 
    try 
    { 
     MIBPContractClient OMIBPClient = new MIBPContractClient(); 
     UserCredential oCredential = new UserCredential(); 
     oCredential.AccessToken = "Enter your access token";   
     URITag uriTag = new URITag(); 
     uriTag.Title = "My Tag Title"; 
     uriTag.MedFiUrl = "http://www.something.com"; 
     uriTag.UTCStartDate = new DateTime(yyyy, mm, dd); 
     uriTag.UTCEndDate = new DateTime(yyyy, mm, dd); 
     uriTag.PublicTitle = "My Tag Public Title"; 
     OMIBPClient.CreateTag(oCredential, "Main", uriTag); 
    } 
    catch 
    { 
     throw; 
    } 
}