From 3e8437ae559487362fae3525beb79c534c213a51 Mon Sep 17 00:00:00 2001
From: 单军华
Date: Thu, 12 Jul 2018 13:44:34 +0800
Subject: [PATCH] bug修复和功能优化

---
 screendisplay/Pods/YYImage/README.md |  384 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 384 insertions(+), 0 deletions(-)

diff --git a/screendisplay/Pods/YYImage/README.md b/screendisplay/Pods/YYImage/README.md
new file mode 100755
index 0000000..7051d7f
--- /dev/null
+++ b/screendisplay/Pods/YYImage/README.md
@@ -0,0 +1,384 @@
+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) 
+[![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)
+
+Image framework for iOS to display/encode/decode animated WebP, APNG, GIF, and more.<br/>
+(It's a component of [YYKit](https://github.com/ibireme/YYKit))
+
+![niconiconi~](https://raw.github.com/ibireme/YYImage/master/Demo/YYImageDemo/niconiconi@2x.gif
+)
+
+Features
+==============
+- Display/encode/decode animated image with these types:<br/>&nbsp;&nbsp;&nbsp;&nbsp;WebP, APNG, GIF.
+- Display/encode/decode still image with these types:<br/>&nbsp;&nbsp;&nbsp;&nbsp;WebP, PNG, GIF, JPEG, JP2, TIFF, BMP, ICO, ICNS.
+- Baseline/progressive/interlaced image decode with these types:<br/>&nbsp;&nbsp;&nbsp;&nbsp;PNG, GIF, JPEG, BMP.
+- Display frame based image animation and sprite sheet animation.
+- Dynamic memory buffer for lower memory usage.
+- Fully compatible with UIImage and UIImageView class.
+- Extendable protocol for custom image animation.
+- Fully documented.
+
+Usage
+==============
+
+###Display animated image
+	
+	// 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];
+
+###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];
+
+###Animation control
+	
+	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;
+	
+	// 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];
+
+###Image type detection
+
+	// Get image type from image data
+	YYImageType type = YYImageDetectType(data); 
+	if (type == YYImageTypePNG) ...
+	
+	
+Installation
+==============
+
+### CocoaPods
+
+1. Update cocoapods to the latest version.
+2. Add `pod 'YYImage'` to your Podfile.
+3. Run `pod install` or `pod update`.
+4. Import \<YYImage/YYImage.h\>.
+5. Notice: it doesn't include WebP subspec by default, if you want to support WebP format, you may add `pod 'YYImage/WebP'` to your Podfile.
+
+### Carthage
+
+1. Add `github "ibireme/YYImage"` to your Cartfile.
+2. Run `carthage update --platform ios` and add the framework to your project.
+3. Import \<YYImage/YYImage.h\>.
+4. Notice: carthage framework doesn't include WebP component, if you want to support WebP format, use CocoaPods or install manually.
+
+### Manually
+
+1. Download all the files in the YYImage subdirectory.
+2. Add the source files to your Xcode project.
+3. Link with required frameworks:
+	* UIKit
+	* CoreFoundation
+	* QuartzCore
+	* AssetsLibrary
+	* ImageIO
+	* Accelerate
+	* MobileCoreServices
+	* libz
+4. Import `YYImage.h`.
+5. Notice: if you want to support WebP format, you may add `Vendor/WebP.framework`(static library) to your Xcode project.
+
+FAQ
+==============
+_Q: Why I can't display WebP image?_
+
+A: Make sure you added the `WebP.framework` in your project. You may call `YYImageWebPAvailable()` to check whether the WebP subspec is installed correctly.
+
+_Q: Why I can't play APNG animation?_
+
+A: You should disable the `Compress PNG Files` and `Remove Text Metadata From PNG Files` in your project's build settings. Or you can rename your APNG file's extension name with `apng`.
+
+Documentation
+==============
+Full API documentation is available on [CocoaDocs](http://cocoadocs.org/docsets/YYImage/).<br/>
+You can also install documentation locally using [appledoc](https://github.com/tomaz/appledoc).
+
+
+
+Requirements
+==============
+This library requires `iOS 6.0+` and `Xcode 7.0+`.
+
+
+License
+==============
+YYImage is provided under the MIT license. See LICENSE file for details.
+
+
+<br/><br/>
+---
+������������
+==============
+YYImage: ��������������� iOS ���������������<br/>
+(������������ [YYKit](https://github.com/ibireme/YYKit) ������������)
+
+![niconiconi~](https://raw.github.com/ibireme/YYImage/master/Demo/YYImageDemo/niconiconi@2x.gif
+)
+
+������
+==============
+- ���������������������������������������/������/������:<br/>
+  &nbsp;&nbsp;&nbsp;&nbsp;WebP, APNG, GIF���
+- ���������������������������������������/������/������:<br>
+  &nbsp;&nbsp;&nbsp;&nbsp;WebP, PNG, GIF, JPEG, JP2, TIFF, BMP, ICO, ICNS���
+- ������������������������������������/������������/������������������:<br/>
+  &nbsp;&nbsp;&nbsp;&nbsp;PNG, GIF, JPEG, BMP���
+- ������������������������������������������������������������������ sprite sheet ���������
+- ���������������������������������������������������������������������������������
+- ������������ UIImage ��� UIImageView������������������
+- ������������������������������������������������������
+- ������������������������������������������������
+
+
+������
+==============
+
+###���������������������������
+	
+	// ������: 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];
+
+###������ 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];
+
+###������������������
+	
+	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;
+	
+	// ��������������������� (���������������������������):
+	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];
+	
+###������������������
+
+	// ������������������
+	YYImageType type = YYImageDetectType(data); 
+	if (type == YYImageTypePNG) ...
+	
+
+������
+==============
+
+### CocoaPods
+
+1. ��� cocoapods ���������������������.
+2. ��� Podfile ��������� `pod 'YYImage'`���
+3. ������ `pod install` ��� `pod update`���
+4. ������ \<YYImage/YYImage.h\>���
+5. ���������pod ��������������������� WebP ������, ��������������������� WebP������������ Podfile ��������� `pod 'YYImage/WebP'`���
+
+### Carthage
+
+1. ��� Cartfile ��������� `github "ibireme/YYImage"`���
+2. ������ `carthage update --platform ios` ��������������� framework ������������������������
+3. ������ \<YYImage/YYImage.h\>���
+4. ���������carthage framework ��������������� WebP ������������������������������ WebP������������ CocoaPods ������������������������������
+
+### ������������
+
+1. ������ YYImage ������������������������������
+2. ��� YYImage ���������������������(������)������������������
+3. ������������ frameworks:
+	* UIKit
+	* CoreFoundation
+	* QuartzCore
+	* AssetsLibrary
+	* ImageIO
+	* Accelerate
+	* MobileCoreServices
+	* libz
+4. ������ `YYImage.h`���
+5. ������������������������������ WebP������������ `Vendor/WebP.framework`(���������) ���������������������
+
+������������
+==============
+_Q: ������������������������ WebP ���������_
+
+A: ������ `WebP.framework` ������������������������������������������������������ `YYImageWebPAvailable()` ��������������� WebP ������������������������������
+
+_Q: ������������������������ APNG ���������_
+
+A: ��������������� Build Settings ������ `Compress PNG Files` ��� `Remove Text Metadata From PNG Files`. ��������������������� APNG ������������������������`apng`.
+
+������
+==============
+������������ [CocoaDocs](http://cocoadocs.org/docsets/YYImage/) ������������ API ��������������������� [appledoc](https://github.com/tomaz/appledoc) ���������������������
+
+
+������������
+==============
+��������������������� `iOS 6.0` ��� `Xcode 7.0`���
+
+
+���������
+==============
+YYImage ������ MIT ��������������������� LICENSE ���������
+
+
+������������
+==============
+[���������������������������](http://blog.ibireme.com/2015/11/02/mobile_image_benchmark/)<br/>
+
+[iOS ������������������������ Tip](http://blog.ibireme.com/2015/11/02/ios_image_tips/)
+

--
Gitblit v1.8.0