2012-03-09 54 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; 
    } 
}