今天學習二維碼,在用CGAffineTransformMakeScale生成圖片的時候,遇到了圖片縮放與自己理解不符的問題,現將問題解決的思路分析如下:
Snip20160505_10.png
如上圖所示,screen代表手機屏幕,image1代表二維碼圖片,image2代表二維碼中心的圖片:
如果我們要將image1和image2都放進屏幕中就需要對圖片的尺寸進行處理。對圖片進行縮放就會帶來圖片失真的問題,然后我們就可以用CGAffineTransformMakeScale來解決了,使用CGAffineTransformMakeScale方法拉伸圖片不會失真,然后我們給圖片一個比較大的放大尺寸,放到screen中,圖片為了適應Screen中的imageView尺寸會縮小,所以也不會失真。
然后我們將image1隨著image2一起放到imageView中,image1會隨著image2縮小,如果當時我們給了image2較小的縮放尺寸,以致于image2的尺寸小于imageView的尺寸,那么放到imageView的過程中,image1反而會放大