ibireme 8 rokov pred
rodič
commit
ca4d535aef
1 zmenil súbory, kde vykonal 187 pridanie a 177 odobranie
  1. 187 177
      README.md

+ 187 - 177
README.md

@@ -2,8 +2,8 @@ YYImage
 ==============
 [![License MIT](https://img.shields.io/badge/license-MIT-green.svg?style=flat)](https://raw.githubusercontent.com/ibireme/YYImage/master/LICENSE) 
 [![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage) 
-[![CocoaPods](http://img.shields.io/cocoapods/v/YYImage.svg?style=flat)](http://cocoapods.org/?q= YYImage) 
-[![CocoaPods](http://img.shields.io/cocoapods/p/YYImage.svg?style=flat)](http://cocoapods.org/?q= YYImage) 
+[![CocoaPods](http://img.shields.io/cocoapods/v/YYImage.svg?style=flat)](http://cocoapods.org/pods/YYImage) 
+[![CocoaPods](http://img.shields.io/cocoapods/p/YYImage.svg?style=flat)](http://cocoadocs.org/docsets/YYImage) 
 [![Support](https://img.shields.io/badge/support-iOS%206%2B%20-blue.svg?style=flat)](https://www.apple.com/nl/ios/) 
 [![Build Status](https://travis-ci.org/ibireme/YYImage.svg?branch=master)](https://travis-ci.org/ibireme/YYImage)
 
@@ -28,104 +28,109 @@ Usage
 ==============
 
 ### Display animated image
-	
-	// File: ani@3x.gif
-	UIImage *image = [YYImage imageNamed:@"ani.gif"];
-	UIImageView *imageView = [[YYAnimatedImageView alloc] initWithImage:image];
-	[self.view addSubview:imageView];
-
+```objc
+// File: ani@3x.gif
+UIImage *image = [YYImage imageNamed:@"ani.gif"];
+UIImageView *imageView = [[YYAnimatedImageView alloc] initWithImage:image];
+[self.view addSubview:imageView];
+```
 
 ### Display frame animation
-	
-	// Files: frame1.png, frame2.png, frame3.png
-	NSArray *paths = @[@"/ani/frame1.png", @"/ani/frame2.png", @"/ani/frame3.png"];
-	NSArray *times = @[@0.1, @0.2, @0.1];
-	UIImage *image = [YYFrameImage alloc] initWithImagePaths:paths frameDurations:times repeats:YES];
-	UIImageView *imageView = [YYAnimatedImageView alloc] initWithImage:image];
-	[self.view addSubview:imageView];
+```objc
+// Files: frame1.png, frame2.png, frame3.png
+NSArray *paths = @[@"/ani/frame1.png", @"/ani/frame2.png", @"/ani/frame3.png"];
+NSArray *times = @[@0.1, @0.2, @0.1];
+UIImage *image = [YYFrameImage alloc] initWithImagePaths:paths frameDurations:times repeats:YES];
+UIImageView *imageView = [YYAnimatedImageView alloc] initWithImage:image];
+[self.view addSubview:imageView];
+```
 
 ### Display sprite sheet animation
-
-	// 8 * 12 sprites in a single sheet image
-	UIImage *spriteSheet = [UIImage imageNamed:@"sprite-sheet"];
-	NSMutableArray *contentRects = [NSMutableArray new];
-	NSMutableArray *durations = [NSMutableArray new];
-	for (int j = 0; j < 12; j++) {
-	   for (int i = 0; i < 8; i++) {
-	       CGRect rect;
-	       rect.size = CGSizeMake(img.size.width / 8, img.size.height / 12);
-	       rect.origin.x = img.size.width / 8 * i;
-	       rect.origin.y = img.size.height / 12 * j;
-	       [contentRects addObject:[NSValue valueWithCGRect:rect]];
-	       [durations addObject:@(1 / 60.0)];
-	   }
-	}
-	YYSpriteSheetImage *sprite;
-	sprite = [[YYSpriteSheetImage alloc] initWithSpriteSheetImage:img
-	                                                contentRects:contentRects
-	                                              frameDurations:durations
-	                                                   loopCount:0];
-	YYAnimatedImageView *imageView = [YYAnimatedImageView new];
-	imageView.size = CGSizeMake(img.size.width / 8, img.size.height / 12);
-	imageView.image = sprite;
-	[self.view addSubview:imageView];
+```objc
+// 8 * 12 sprites in a single sheet image
+UIImage *spriteSheet = [UIImage imageNamed:@"sprite-sheet"];
+NSMutableArray *contentRects = [NSMutableArray new];
+NSMutableArray *durations = [NSMutableArray new];
+for (int j = 0; j < 12; j++) {
+   for (int i = 0; i < 8; i++) {
+       CGRect rect;
+       rect.size = CGSizeMake(img.size.width / 8, img.size.height / 12);
+       rect.origin.x = img.size.width / 8 * i;
+       rect.origin.y = img.size.height / 12 * j;
+       [contentRects addObject:[NSValue valueWithCGRect:rect]];
+       [durations addObject:@(1 / 60.0)];
+   }
+}
+YYSpriteSheetImage *sprite;
+sprite = [[YYSpriteSheetImage alloc] initWithSpriteSheetImage:img
+                                                contentRects:contentRects
+                                              frameDurations:durations
+                                                   loopCount:0];
+YYAnimatedImageView *imageView = [YYAnimatedImageView new];
+imageView.size = CGSizeMake(img.size.width / 8, img.size.height / 12);
+imageView.image = sprite;
+[self.view addSubview:imageView];
+```
 
 ### Animation control
-	
-	YYAnimatedImageView *imageView = ...;
-	// pause:
-	[imageView stopAnimating];
-	// play:
-	[imageView startAnimating];
-	// set frame index:
-	imageView.currentAnimatedImageIndex = 12;
-	// get current status
-	image.currentIsPlayingAnimation;
-	
+```objc
+YYAnimatedImageView *imageView = ...;
+// pause:
+[imageView stopAnimating];
+// play:
+[imageView startAnimating];
+// set frame index:
+imageView.currentAnimatedImageIndex = 12;
+// get current status
+image.currentIsPlayingAnimation;
+```
+
 ### Image decoder
-		
-	// Decode single frame:
-	NSData *data = [NSData dataWithContentsOfFile:@"/tmp/image.webp"];
-	YYImageDecoder *decoder = [YYImageDecoder decoderWithData:data scale:2.0];
-	UIImage image = [decoder frameAtIndex:0 decodeForDisplay:YES].image;
+```objc
+// Decode single frame:
+NSData *data = [NSData dataWithContentsOfFile:@"/tmp/image.webp"];
+YYImageDecoder *decoder = [YYImageDecoder decoderWithData:data scale:2.0];
+UIImage image = [decoder frameAtIndex:0 decodeForDisplay:YES].image;
 	
-	// Progressive:
-	NSMutableData *data = [NSMutableData new];
-	YYImageDecoder *decoder = [[YYImageDecoder alloc] initWithScale:2.0];
-	while(newDataArrived) {
-	   [data appendData:newData];
-	   [decoder updateData:data final:NO];
-	   if (decoder.frameCount > 0) {
-	       UIImage image = [decoder frameAtIndex:0 decodeForDisplay:YES].image;
-	       // progressive display...
-	   }
-	}
-	[decoder updateData:data final:YES];
-	UIImage image = [decoder frameAtIndex:0 decodeForDisplay:YES].image;
-	// final display...
+// Progressive:
+NSMutableData *data = [NSMutableData new];
+YYImageDecoder *decoder = [[YYImageDecoder alloc] initWithScale:2.0];
+while(newDataArrived) {
+   [data appendData:newData];
+   [decoder updateData:data final:NO];
+   if (decoder.frameCount > 0) {
+       UIImage image = [decoder frameAtIndex:0 decodeForDisplay:YES].image;
+       // progressive display...
+   }
+}
+[decoder updateData:data final:YES];
+UIImage image = [decoder frameAtIndex:0 decodeForDisplay:YES].image;
+// final display...
+```
 
 ### Image encoder
-	
-	// Encode still image:
-	YYImageEncoder *jpegEncoder = [[YYImageEncoder alloc] initWithType:YYImageTypeJPEG];
-	jpegEncoder.quality = 0.9;
-	[jpegEncoder addImage:image duration:0];
-	NSData jpegData = [jpegEncoder encode];
-	 
-	// Encode animated image:
-	YYImageEncoder *webpEncoder = [[YYImageEncoder alloc] initWithType:YYImageTypeWebP];
-	webpEncoder.loopCount = 5;
-	[webpEncoder addImage:image0 duration:0.1];
-	[webpEncoder addImage:image1 duration:0.15];
-	[webpEncoder addImage:image2 duration:0.2];
-	NSData webpData = [webpEncoder encode];
+```objc
+// Encode still image:
+YYImageEncoder *jpegEncoder = [[YYImageEncoder alloc] initWithType:YYImageTypeJPEG];
+jpegEncoder.quality = 0.9;
+[jpegEncoder addImage:image duration:0];
+NSData jpegData = [jpegEncoder encode];
+ 
+// Encode animated image:
+YYImageEncoder *webpEncoder = [[YYImageEncoder alloc] initWithType:YYImageTypeWebP];
+webpEncoder.loopCount = 5;
+[webpEncoder addImage:image0 duration:0.1];
+[webpEncoder addImage:image1 duration:0.15];
+[webpEncoder addImage:image2 duration:0.2];
+NSData webpData = [webpEncoder encode];
+```
 
 ### Image type detection
-
-	// Get image type from image data
-	YYImageType type = YYImageDetectType(data); 
-	if (type == YYImageTypePNG) ...
-	
+```objc
+// Get image type from image data
+YYImageType type = YYImageDetectType(data); 
+if (type == YYImageTypePNG) ...
+```
 	
 Installation
 ==============
@@ -180,7 +185,7 @@ You can also install documentation locally using [appledoc](https://github.com/t
 
 Requirements
 ==============
-This library requires `iOS 6.0+` and `Xcode 7.0+`.
+This library requires `iOS 6.0+` and `Xcode 8.0+`.
 
 
 License
@@ -217,105 +222,110 @@ YYImage: 功能强大的 iOS 图像框架。<br/>
 ==============
 
 ### 显示动画类型的图片
-	
-	// 文件: ani@3x.gif
-	UIImage *image = [YYImage imageNamed:@"ani.gif"];
-	UIImageView *imageView = [[YYAnimatedImageView alloc] initWithImage:image];
-	[self.view addSubview:imageView];
-
+```objc
+// 文件: ani@3x.gif
+UIImage *image = [YYImage imageNamed:@"ani.gif"];
+UIImageView *imageView = [[YYAnimatedImageView alloc] initWithImage:image];
+[self.view addSubview:imageView];
+```
 
 ### 播放帧动画
-	
-	// 文件: frame1.png, frame2.png, frame3.png
-	NSArray *paths = @[@"/ani/frame1.png", @"/ani/frame2.png", @"/ani/frame3.png"];
-	NSArray *times = @[@0.1, @0.2, @0.1];
-	UIImage *image = [YYFrameImage alloc] initWithImagePaths:paths frameDurations:times repeats:YES];
-	UIImageView *imageView = [YYAnimatedImageView alloc] initWithImage:image];
-	[self.view addSubview:imageView];
+```objc
+// 文件: frame1.png, frame2.png, frame3.png
+NSArray *paths = @[@"/ani/frame1.png", @"/ani/frame2.png", @"/ani/frame3.png"];
+NSArray *times = @[@0.1, @0.2, @0.1];
+UIImage *image = [YYFrameImage alloc] initWithImagePaths:paths frameDurations:times repeats:YES];
+UIImageView *imageView = [YYAnimatedImageView alloc] initWithImage:image];
+[self.view addSubview:imageView];
+```
 
 ### 播放 sprite sheet 动画
-
-	// 8 * 12 sprites in a single sheet image
-	UIImage *spriteSheet = [UIImage imageNamed:@"sprite-sheet"];
-	NSMutableArray *contentRects = [NSMutableArray new];
-	NSMutableArray *durations = [NSMutableArray new];
-	for (int j = 0; j < 12; j++) {
-	   for (int i = 0; i < 8; i++) {
-	       CGRect rect;
-	       rect.size = CGSizeMake(img.size.width / 8, img.size.height / 12);
-	       rect.origin.x = img.size.width / 8 * i;
-	       rect.origin.y = img.size.height / 12 * j;
-	       [contentRects addObject:[NSValue valueWithCGRect:rect]];
-	       [durations addObject:@(1 / 60.0)];
-	   }
-	}
-	YYSpriteSheetImage *sprite;
-	sprite = [[YYSpriteSheetImage alloc] initWithSpriteSheetImage:img
-	                                                contentRects:contentRects
-	                                              frameDurations:durations
-	                                                   loopCount:0];
-	YYAnimatedImageView *imageView = [YYAnimatedImageView new];
-	imageView.size = CGSizeMake(img.size.width / 8, img.size.height / 12);
-	imageView.image = sprite;
-	[self.view addSubview:imageView];
+```objc
+// 8 * 12 sprites in a single sheet image
+UIImage *spriteSheet = [UIImage imageNamed:@"sprite-sheet"];
+NSMutableArray *contentRects = [NSMutableArray new];
+NSMutableArray *durations = [NSMutableArray new];
+for (int j = 0; j < 12; j++) {
+   for (int i = 0; i < 8; i++) {
+       CGRect rect;
+       rect.size = CGSizeMake(img.size.width / 8, img.size.height / 12);
+       rect.origin.x = img.size.width / 8 * i;
+       rect.origin.y = img.size.height / 12 * j;
+       [contentRects addObject:[NSValue valueWithCGRect:rect]];
+       [durations addObject:@(1 / 60.0)];
+   }
+}
+YYSpriteSheetImage *sprite;
+sprite = [[YYSpriteSheetImage alloc] initWithSpriteSheetImage:img
+                                                contentRects:contentRects
+                                              frameDurations:durations
+                                                   loopCount:0];
+YYAnimatedImageView *imageView = [YYAnimatedImageView new];
+imageView.size = CGSizeMake(img.size.width / 8, img.size.height / 12);
+imageView.image = sprite;
+[self.view addSubview:imageView];
+```
 
 ### 动画播放控制
-	
-	YYAnimatedImageView *imageView = ...;
-	// 暂停:
-	[imageView stopAnimating];
-	// 播放:
-	[imageView startAnimating];
-	// 设置播放进度:
-	imageView.currentAnimatedImageIndex = 12;
-	// 获取播放状态:
-	image.currentIsPlayingAnimation;
-	//上面两个属性都支持 KVO。
-	
+```objc
+YYAnimatedImageView *imageView = ...;
+// 暂停:
+[imageView stopAnimating];
+// 播放:
+[imageView startAnimating];
+// 设置播放进度:
+imageView.currentAnimatedImageIndex = 12;
+// 获取播放状态:
+image.currentIsPlayingAnimation;
+//上面两个属性都支持 KVO。
+```
+
 ### 图片解码
-		
-	// 解码单帧图片:
-	NSData *data = [NSData dataWithContentsOfFile:@"/tmp/image.webp"];
-	YYImageDecoder *decoder = [YYImageDecoder decoderWithData:data scale:2.0];
-	UIImage image = [decoder frameAtIndex:0 decodeForDisplay:YES].image;
+```objc
+// 解码单帧图片:
+NSData *data = [NSData dataWithContentsOfFile:@"/tmp/image.webp"];
+YYImageDecoder *decoder = [YYImageDecoder decoderWithData:data scale:2.0];
+UIImage image = [decoder frameAtIndex:0 decodeForDisplay:YES].image;
 	
-	// 渐进式图片解码 (可用于图片下载显示):
-	NSMutableData *data = [NSMutableData new];
-	YYImageDecoder *decoder = [[YYImageDecoder alloc] initWithScale:2.0];
-	while(newDataArrived) {
-	   [data appendData:newData];
-	   [decoder updateData:data final:NO];
-	   if (decoder.frameCount > 0) {
-	       UIImage image = [decoder frameAtIndex:0 decodeForDisplay:YES].image;
-	       // progressive display...
-	   }
-	}
-	[decoder updateData:data final:YES];
-	UIImage image = [decoder frameAtIndex:0 decodeForDisplay:YES].image;
-	// final display...
+// 渐进式图片解码 (可用于图片下载显示):
+NSMutableData *data = [NSMutableData new];
+YYImageDecoder *decoder = [[YYImageDecoder alloc] initWithScale:2.0];
+while(newDataArrived) {
+   [data appendData:newData];
+   [decoder updateData:data final:NO];
+   if (decoder.frameCount > 0) {
+       UIImage image = [decoder frameAtIndex:0 decodeForDisplay:YES].image;
+       // progressive display...
+   }
+}
+[decoder updateData:data final:YES];
+UIImage image = [decoder frameAtIndex:0 decodeForDisplay:YES].image;
+// final display...
+```
 
 ### 图片编码
-	
-	// 编码静态图 (支持各种常见图片格式):
-	YYImageEncoder *jpegEncoder = [[YYImageEncoder alloc] initWithType:YYImageTypeJPEG];
-	jpegEncoder.quality = 0.9;
-	[jpegEncoder addImage:image duration:0];
-	NSData jpegData = [jpegEncoder encode];
-	 
-	// 编码动态图 (支持 GIF/APNG/WebP):
-	YYImageEncoder *webpEncoder = [[YYImageEncoder alloc] initWithType:YYImageTypeWebP];
-	webpEncoder.loopCount = 5;
-	[webpEncoder addImage:image0 duration:0.1];
-	[webpEncoder addImage:image1 duration:0.15];
-	[webpEncoder addImage:image2 duration:0.2];
-	NSData webpData = [webpEncoder encode];
+```objc
+// 编码静态图 (支持各种常见图片格式):
+YYImageEncoder *jpegEncoder = [[YYImageEncoder alloc] initWithType:YYImageTypeJPEG];
+jpegEncoder.quality = 0.9;
+[jpegEncoder addImage:image duration:0];
+NSData jpegData = [jpegEncoder encode];
+ 
+// 编码动态图 (支持 GIF/APNG/WebP):
+YYImageEncoder *webpEncoder = [[YYImageEncoder alloc] initWithType:YYImageTypeWebP];
+webpEncoder.loopCount = 5;
+[webpEncoder addImage:image0 duration:0.1];
+[webpEncoder addImage:image1 duration:0.15];
+[webpEncoder addImage:image2 duration:0.2];
+NSData webpData = [webpEncoder encode];
+```
 	
 ### 图片类型探测
-
-	// 获取图片类型
-	YYImageType type = YYImageDetectType(data); 
-	if (type == YYImageTypePNG) ...
-	
+```objc
+// 获取图片类型
+YYImageType type = YYImageDetectType(data); 
+if (type == YYImageTypePNG) ...
+```	
 
 安装
 ==============
@@ -368,7 +378,7 @@ A: 你应该禁用 Build Settings 中的 `Compress PNG Files` 和 `Remove Text M
 
 系统要求
 ==============
-该项目最低支持 `iOS 6.0` 和 `Xcode 7.0`。
+该项目最低支持 `iOS 6.0` 和 `Xcode 8.0`。
 
 
 许可证