1
我正在C++中實現一個微型QR代碼生成器,我想打印最終矩陣作爲一組黑白方塊生成,看起來像一個真正的QR碼。我的矩陣由整數值1
和0
(在我的代碼中有一個原因,而不是使用布爾值),我想打印一個黑色方塊的值爲1
或白色方塊的值爲0
。打印矩陣黑色和白色方塊,類似於QR碼
我當前的代碼(見下文或測試here)使用Unicode字符\u2b1c
和\u2b1b
以實現類似於我想要的結果,但它是不夠的廣場由一個QR碼掃描儀進行掃描。
代碼
#include <iostream>
using namespace std;
int i,j;
int printPixels(int Board[11][11]){
for (i=0;i<11;i++){
for (j=0;j<11;j++) cout << ((Board[i][j] == 0) ? "\u2b1c" : "\u2b1b");
cout << endl;
}
return 0;
}
int main() {
int a[11][11]={
{1,1,1,1,1,1,1,0,1,0,1},{1,0,0,0,0,0,1,0,1,0,1},
{1,0,1,1,1,0,1,0,1,1,0},{1,0,1,1,1,0,1,0,0,0,0},
{1,0,1,1,1,0,1,0,1,1,1},{1,0,0,0,0,0,1,0,0,0,1},
{1,1,1,1,1,1,1,0,1,1,1},{0,0,0,0,0,0,0,0,0,1,1},
{1,1,0,0,1,1,1,0,0,1,0},{0,0,1,0,1,1,0,0,0,1,0},
{1,1,1,1,1,0,0,1,1,1,1}
};
printPixels(a);
}
限制
- 我只能用ASCII或Unicode字符做到這一點,沒有任何圖紙庫或包(這個原因是複雜的,但這是我的規格)。
- 我需要的實現是儘可能平臺無關,並且看起來足夠好,可以用普通的QR碼掃描器進行掃描。
- 我希望它看起來像Ideone,它有一個白色的背景,而不是大多數終端通常的黑色背景。
您是否嘗試過使用空格和\ u2588(可能加倍),如[這裏](https://ideone.com/v6i7cZ)? –
@Bob__這實際上是一個非常好的解決方案,你可以發佈它作爲答案,所以我可以接受它嗎? –