有個需求是兩張圖分開儲存,在某個畫面必須兩張圖片疊加 (Overlay Two Images)起來顯示,下意識會用兩個ImageView,不過儲存的圖格式是Image,召喚ImageView應是有點多餘?!
其實可以直接Image疊加繪圖輸出~
/** Theme: Overlay Two Images IDE: Xcode 11 Language: Objective C Date: 108/06/05 Author: HappyMan Blog: https://cg2010studio.com/ */ + (UIImage*)drawImage:(UIImage *)fgImage onImage:(UIImage *)bgImage atPoint:(CGPoint)point { UIGraphicsBeginImageContextWithOptions(bgImage.size, FALSE, 0.0); [bgImage drawInRect:CGRectMake(0, 0, bgImage.size.width, bgImage.size.height)]; [fgImage drawInRect:CGRectMake(point.x, point.y, fgImage.size.width, fgImage.size.height)]; UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); return newImage; }
上述方法需輸入兩張圖,第二張圖看要從哪個點疊加到第一張圖,因為我兩張圖一樣大小,所以直接(0, 0)疊加上去囉~
需要的時候拿出這兩張Image來合成,如此就不會破壞原圖囉~
好想把這幅木框畫選用雷射雕刻做出來,紀念200222國中同學豆花,就算武漢肺炎洶洶來襲,也要完成終身大事的勇氣XD~
隨意留個言吧:)~