Just My Life & My Work

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

參考:Overlay an image over another image in iOS

廣告

隨意留個言吧:)~

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com 標誌

您的留言將使用 WordPress.com 帳號。 登出 /  變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 /  變更 )

連結到 %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

標籤雲

%d 位部落客按了讚: