Just a Computer Graphics Studio & My Life

[iOS] 播放影像 (Display Image)

原本只要播放影片檔就好,然而合作公司的Android工程師說他無法處理影片,於是改用播放一連串影像

原來沒有想像中難,先把圖檔丟到陣列去,再呼叫方法開始播放影像為動畫!當然還可以有其它屬性可以調整,像是背景顏色、動畫時間、重播次數等等。

-(void)displayImage
{
    self.imageArr = [NSMutableArray array];
    NSString *prefixStr = @"happyimage00";
    NSString *suffixStr = @".png";
    NSString *allStr;
    for (int i=1; i<=100; i+=5) {
        if (i < 10) {
            allStr = [[prefixStr stringByAppendingFormat:@"0%i",i] stringByAppendingString:suffixStr];
        }
        else {
            allStr = [[prefixStr stringByAppendingFormat:@"%i",i] stringByAppendingString:suffixStr];
        }
        [self.imageArr addObject:[UIImage imageNamed:allStr]];
    }
    self.cardAnimationImage.backgroundColor = [UIColor clearColor];
    self.cardAnimationImage.animationImages = self.imageArr;
    self.cardAnimationImage.animationDuration = 5;
    self.cardAnimationImage.animationRepeatCount = 1;
    [self.cardAnimationImage startAnimating];
    [NSTimer scheduledTimerWithTimeInterval:6 target:self selector:@selector(nextView) userInfo:nil repeats:NO];
}

上述程式碼總共載入100張圖檔,圖檔名稱最好一致,我用前綴後綴再加上中間數字來讀檔,接著將圖檔放入預定的陣列中,設定好想要的效果之後,即可開始播放動畫囉~

跟老闆反應播放動畫前會花3秒時間載入圖片,如此會讓使用者體驗變糟糕,於是他建議用跳的方式載入圖片,才會有i+=5這樣子的做法,意思是每隔五張圖片。圖檔未解壓縮時就高達15MB,也難怪會lag幾秒後才播放:P~

參考:Animation using array of images in sequenceCore Graphic 的多張圖片動畫

Advertisements

發表留言

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

WordPress.com Logo

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

Twitter picture

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

Facebook照片

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

Google+ photo

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

連結到 %s

標籤雲

%d 位部落客按了讚: