有個需求是兩張圖分開儲存,在某個畫面必須兩張圖片疊加 (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~


隨意留個言吧:)~