添加PNG 图片

    YYImage *image = [YYImage imageNamed: name];
    YYAnimatedImageView *imageView = [[YYAnimatedImageView alloc] initWithImage:image];
    [self.view addSubview:imageView];

YYImage

  1. imageNamed
  2. 匹配 name 对应的分辨率图片
  3. 获取对应路径的 data 对象
  4. initWithData: scale
  5. YYImageDecoder 实例对象解码对应的 data [YYImageDecoder decoderWithData:data scale:scale]
  6. 获取解码后对应的图像帧数据 [decoder frameAtIndex:0 decodeForDisplay:YES]

YYDecoder

  1. decoderWithData: scale 进行解码数据
  2. updateData: final 创建CGImageSourceRef的实例对象,该对象用于获取图像属性或者获取图像帧
  3. 设置 _YYImageDecoderFrame 实例的属性
  4. frameAtIndex:decodeForDisplay 获取解码后的图像帧
  5. _frameAtIndex:decodeForDisplay 获取图像帧
  6. _newUnblendedImageAtIndex:extendToCanvas:decoded 根据_source 获取图像帧
  7. 使用 CGBitmapContextCreate 函数创建一个位图上下文;
  8. 使用 CGContextDrawImage 函数将原始位图绘制到上下文中;
  9. 使用 CGBitmapContextCreateImage 函数创建一张新的解压缩后的位图。

YYAnimatedImageView