根據要生成的圓形二維碼尺寸,計算所需內接正方形的尺寸 ,內接正方形的尺寸就是二維碼有效識別的區域;按照內接正方形的尺寸,生成一個二維碼,同時計算二維碼的兩個尺寸引數,這個步驟和正常生成二維碼的方式是一模一樣的,在生這個生成的過程中,我們還需要計算兩個引數(1)單個二維碼小格子的寬度,(2)二維碼邊框的寬度,引數(1)是為了便於我們在填充圓形區域的時候,更好地和中間地有效二維碼地密度做融合,使做出來效果中間的有效區域和邊緣的模擬區域沒有明顯地界限;按照圓形二維碼的尺寸,生成一個圓外接正方型的模擬二維碼,二維碼的小格子的寬度是步驟2計算出來的小格子的寬度 ,這個步驟先生成一個二維碼的底圖,這個二維碼是不能識別的,需要下在下個步驟裡,把步驟二生成的二維碼貼在這個底圖的中間;把步驟二生成的二維碼貼在步驟三生成的模擬二維碼的中間,在這個步驟裡面,要注意兩個問題,(1)步驟二生成的二維碼是由邊框的,這個邊框不被排除,直接貼上來,最終效果是圓形二維碼中間區域有一個白色方框,白色方框裡也是二維碼,所以在bitmap切割的時候,source bounds要排除邊框的寬度,這時會用到步驟二計算時得到第二個引數;同時需要注意,在貼二維碼時,目的是要把二維碼居中顯示,但是為了避免交接處存在偏移導致模擬二維碼和中間方形區域的圖案不契合,要對貼圖是的左邊距做微調,確保左邊距剛好是二維碼小格子的整數倍,上邊距同理把圖示按照一定的比例縮小,貼在步驟4得到的二維碼中間;把整個圖片切割成圓形
根據要生成的圓形二維碼尺寸,計算所需內接正方形的尺寸 ,內接正方形的尺寸就是二維碼有效識別的區域;按照內接正方形的尺寸,生成一個二維碼,同時計算二維碼的兩個尺寸引數,這個步驟和正常生成二維碼的方式是一模一樣的,在生這個生成的過程中,我們還需要計算兩個引數(1)單個二維碼小格子的寬度,(2)二維碼邊框的寬度,引數(1)是為了便於我們在填充圓形區域的時候,更好地和中間地有效二維碼地密度做融合,使做出來效果中間的有效區域和邊緣的模擬區域沒有明顯地界限;按照圓形二維碼的尺寸,生成一個圓外接正方型的模擬二維碼,二維碼的小格子的寬度是步驟2計算出來的小格子的寬度 ,這個步驟先生成一個二維碼的底圖,這個二維碼是不能識別的,需要下在下個步驟裡,把步驟二生成的二維碼貼在這個底圖的中間;把步驟二生成的二維碼貼在步驟三生成的模擬二維碼的中間,在這個步驟裡面,要注意兩個問題,(1)步驟二生成的二維碼是由邊框的,這個邊框不被排除,直接貼上來,最終效果是圓形二維碼中間區域有一個白色方框,白色方框裡也是二維碼,所以在bitmap切割的時候,source bounds要排除邊框的寬度,這時會用到步驟二計算時得到第二個引數;同時需要注意,在貼二維碼時,目的是要把二維碼居中顯示,但是為了避免交接處存在偏移導致模擬二維碼和中間方形區域的圖案不契合,要對貼圖是的左邊距做微調,確保左邊距剛好是二維碼小格子的整數倍,上邊距同理把圖示按照一定的比例縮小,貼在步驟4得到的二維碼中間;把整個圖片切割成圓形