From 7b02207537d35bfa1714bf8beafc921f717d100a Mon Sep 17 00:00:00 2001
From: 单军华
Date: Wed, 11 Jul 2018 10:47:42 +0800
Subject: [PATCH] 首次上传

---
 screendisplay/Pods/YYCategories/YYCategories/UIKit/UIImage+YYAdd.h |  377 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 377 insertions(+), 0 deletions(-)

diff --git a/screendisplay/Pods/YYCategories/YYCategories/UIKit/UIImage+YYAdd.h b/screendisplay/Pods/YYCategories/YYCategories/UIKit/UIImage+YYAdd.h
new file mode 100755
index 0000000..f4b443f
--- /dev/null
+++ b/screendisplay/Pods/YYCategories/YYCategories/UIKit/UIImage+YYAdd.h
@@ -0,0 +1,377 @@
+//
+//  UIImage+YYAdd.h
+//  YYCategories <https://github.com/ibireme/YYCategories>
+//
+//  Created by ibireme on 13/4/4.
+//  Copyright (c) 2015 ibireme.
+//
+//  This source code is licensed under the MIT-style license found in the
+//  LICENSE file in the root directory of this source tree.
+//
+
+#import <UIKit/UIKit.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+/**
+ Provide some commen method for `UIImage`.
+ Image process is based on CoreGraphic and vImage.
+ */
+@interface UIImage (YYAdd)
+
+#pragma mark - Create image
+///=============================================================================
+/// @name Create image
+///=============================================================================
+
+/**
+ Create an animated image with GIF data. After created, you can access
+ the images via property '.images'. If the data is not animated gif, this
+ function is same as [UIImage imageWithData:data scale:scale];
+ 
+ @discussion     It has a better display performance, but costs more memory
+                 (width * height * frames Bytes). It only suited to display small 
+                 gif such as animated emoji. If you want to display large gif, 
+                 see `YYImage`.
+ 
+ @param data     GIF data.
+ 
+ @param scale    The scale factor
+ 
+ @return A new image created from GIF, or nil when an error occurs.
+ */
++ (nullable UIImage *)imageWithSmallGIFData:(NSData *)data scale:(CGFloat)scale;
+
+/**
+ Whether the data is animated GIF.
+ 
+ @param data Image data
+ 
+ @return Returns YES only if the data is gif and contains more than one frame,
+         otherwise returns NO.
+ */
++ (BOOL)isAnimatedGIFData:(NSData *)data;
+
+/**
+ Whether the file in the specified path is GIF.
+ 
+ @param path An absolute file path.
+ 
+ @return Returns YES if the file is gif, otherwise returns NO.
+ */
++ (BOOL)isAnimatedGIFFile:(NSString *)path;
+
+/**
+ Create an image from a PDF file data or path.
+ 
+ @discussion If the PDF has multiple page, is just return's the first page's
+ content. Image's scale is equal to current screen's scale, size is same as 
+ PDF's origin size.
+ 
+ @param dataOrPath PDF data in `NSData`, or PDF file path in `NSString`.
+ 
+ @return A new image create from PDF, or nil when an error occurs.
+ */
++ (nullable UIImage *)imageWithPDF:(id)dataOrPath;
+
+/**
+ Create an image from a PDF file data or path.
+ 
+ @discussion If the PDF has multiple page, is just return's the first page's
+ content. Image's scale is equal to current screen's scale.
+ 
+ @param dataOrPath  PDF data in `NSData`, or PDF file path in `NSString`.
+ 
+ @param size     The new image's size, PDF's content will be stretched as needed.
+ 
+ @return A new image create from PDF, or nil when an error occurs.
+ */
++ (nullable UIImage *)imageWithPDF:(id)dataOrPath size:(CGSize)size;
+
+/**
+ Create a square image from apple emoji.
+ 
+ @discussion It creates a square image from apple emoji, image's scale is equal
+ to current screen's scale. The original emoji image in `AppleColorEmoji` font 
+ is in size 160*160 px.
+ 
+ @param emoji single emoji, such as @"����".
+ 
+ @param size  image's size.
+ 
+ @return Image from emoji, or nil when an error occurs.
+ */
++ (nullable UIImage *)imageWithEmoji:(NSString *)emoji size:(CGFloat)size;
+
+/**
+ Create and return a 1x1 point size image with the given color.
+ 
+ @param color  The color.
+ */
++ (nullable UIImage *)imageWithColor:(UIColor *)color;
+
+/**
+ Create and return a pure color image with the given color and size.
+ 
+ @param color  The color.
+ @param size   New image's type.
+ */
++ (nullable UIImage *)imageWithColor:(UIColor *)color size:(CGSize)size;
+
+/**
+ Create and return an image with custom draw code.
+ 
+ @param size      The image size.
+ @param drawBlock The draw block.
+ 
+ @return The new image.
+ */
++ (nullable UIImage *)imageWithSize:(CGSize)size drawBlock:(void (^)(CGContextRef context))drawBlock;
+
+#pragma mark - Image Info
+///=============================================================================
+/// @name Image Info
+///=============================================================================
+
+/**
+ Whether this image has alpha channel.
+ */
+- (BOOL)hasAlphaChannel;
+
+
+#pragma mark - Modify Image
+///=============================================================================
+/// @name Modify Image
+///=============================================================================
+
+/**
+ Draws the entire image in the specified rectangle, content changed with
+ the contentMode.
+ 
+ @discussion This method draws the entire image in the current graphics context, 
+ respecting the image's orientation setting. In the default coordinate system, 
+ images are situated down and to the right of the origin of the specified 
+ rectangle. This method respects any transforms applied to the current graphics 
+ context, however.
+ 
+ @param rect        The rectangle in which to draw the image.
+ 
+ @param contentMode Draw content mode
+ 
+ @param clips       A Boolean value that determines whether content are confined to the rect.
+ */
+- (void)drawInRect:(CGRect)rect withContentMode:(UIViewContentMode)contentMode clipsToBounds:(BOOL)clips;
+
+/**
+ Returns a new image which is scaled from this image.
+ The image will be stretched as needed.
+ 
+ @param size  The new size to be scaled, values should be positive.
+ 
+ @return      The new image with the given size.
+ */
+- (nullable UIImage *)imageByResizeToSize:(CGSize)size;
+
+/**
+ Returns a new image which is scaled from this image.
+ The image content will be changed with thencontentMode.
+ 
+ @param size        The new size to be scaled, values should be positive.
+ 
+ @param contentMode The content mode for image content.
+ 
+ @return The new image with the given size.
+ */
+- (nullable UIImage *)imageByResizeToSize:(CGSize)size contentMode:(UIViewContentMode)contentMode;
+
+/**
+ Returns a new image which is cropped from this image.
+ 
+ @param rect  Image's inner rect.
+ 
+ @return      The new image, or nil if an error occurs.
+ */
+- (nullable UIImage *)imageByCropToRect:(CGRect)rect;
+
+/**
+ Returns a new image which is edge inset from this image.
+ 
+ @param insets  Inset (positive) for each of the edges, values can be negative to 'outset'.
+ 
+ @param color   Extend edge's fill color, nil means clear color.
+ 
+ @return        The new image, or nil if an error occurs.
+ */
+- (nullable UIImage *)imageByInsetEdge:(UIEdgeInsets)insets withColor:(nullable UIColor *)color;
+
+/**
+ Rounds a new image with a given corner size.
+ 
+ @param radius  The radius of each corner oval. Values larger than half the
+ rectangle's width or height are clamped appropriately to half
+ the width or height.
+ */
+- (nullable UIImage *)imageByRoundCornerRadius:(CGFloat)radius;
+
+/**
+ Rounds a new image with a given corner size.
+ 
+ @param radius       The radius of each corner oval. Values larger than half the
+                     rectangle's width or height are clamped appropriately to
+                     half the width or height.
+ 
+ @param borderWidth  The inset border line width. Values larger than half the rectangle's
+                     width or height are clamped appropriately to half the width
+                     or height.
+ 
+ @param borderColor  The border stroke color. nil means clear color.
+ */
+- (nullable UIImage *)imageByRoundCornerRadius:(CGFloat)radius
+                                   borderWidth:(CGFloat)borderWidth
+                                   borderColor:(nullable UIColor *)borderColor;
+
+/**
+ Rounds a new image with a given corner size.
+ 
+ @param radius       The radius of each corner oval. Values larger than half the
+                     rectangle's width or height are clamped appropriately to
+                     half the width or height.
+ 
+ @param corners      A bitmask value that identifies the corners that you want
+                     rounded. You can use this parameter to round only a subset
+                     of the corners of the rectangle.
+ 
+ @param borderWidth  The inset border line width. Values larger than half the rectangle's
+                     width or height are clamped appropriately to half the width
+                     or height.
+ 
+ @param borderColor  The border stroke color. nil means clear color.
+ 
+ @param borderLineJoin The border line join.
+ */
+- (nullable UIImage *)imageByRoundCornerRadius:(CGFloat)radius
+                                       corners:(UIRectCorner)corners
+                                   borderWidth:(CGFloat)borderWidth
+                                   borderColor:(nullable UIColor *)borderColor
+                                borderLineJoin:(CGLineJoin)borderLineJoin;
+
+/**
+ Returns a new rotated image (relative to the center).
+ 
+ @param radians   Rotated radians in counterclockwise.���
+ 
+ @param fitSize   YES: new image's size is extend to fit all content.
+                  NO: image's size will not change, content may be clipped.
+ */
+- (nullable UIImage *)imageByRotate:(CGFloat)radians fitSize:(BOOL)fitSize;
+
+/**
+ Returns a new image rotated counterclockwise by a quarter���turn (90��). ���
+ The width and height will be exchanged.
+ */
+- (nullable UIImage *)imageByRotateLeft90;
+
+/**
+ Returns a new image rotated clockwise by a quarter���turn (90��). ���
+ The width and height will be exchanged.
+ */
+- (nullable UIImage *)imageByRotateRight90;
+
+/**
+ Returns a new image rotated 180�� . ���
+ */
+- (nullable UIImage *)imageByRotate180;
+
+/**
+ Returns a vertically flipped image. ���
+ */
+- (nullable UIImage *)imageByFlipVertical;
+
+/**
+ Returns a horizontally flipped image. ���
+ */
+- (nullable UIImage *)imageByFlipHorizontal;
+
+
+#pragma mark - Image Effect
+///=============================================================================
+/// @name Image Effect
+///=============================================================================
+
+/**
+ Tint the image in alpha channel with the given color.
+ 
+ @param color  The color.
+ */
+- (nullable UIImage *)imageByTintColor:(UIColor *)color;
+
+/**
+ Returns a grayscaled image.
+ */
+- (nullable UIImage *)imageByGrayscale;
+
+/**
+ Applies a blur effect to this image. Suitable for blur any content.
+ */
+- (nullable UIImage *)imageByBlurSoft;
+
+/**
+ Applies a blur effect to this image. Suitable for blur any content except pure white.
+ (same as iOS Control Panel)
+ */
+- (nullable UIImage *)imageByBlurLight;
+
+/**
+ Applies a blur effect to this image. Suitable for displaying black text.
+ (same as iOS Navigation Bar White)
+ */
+- (nullable UIImage *)imageByBlurExtraLight;
+
+/**
+ Applies a blur effect to this image. Suitable for displaying white text.
+ (same as iOS Notification Center)
+ */
+- (nullable UIImage *)imageByBlurDark;
+
+/**
+ Applies a blur and tint color to this image.
+ 
+ @param tintColor  The tint color.
+ */
+- (nullable UIImage *)imageByBlurWithTint:(UIColor *)tintColor;
+
+/**
+ Applies a blur, tint color, and saturation adjustment to this image,
+ optionally within the area specified by @a maskImage.
+ 
+ @param blurRadius     The radius of the blur in points, 0 means no blur effect.
+ 
+ @param tintColor      An optional UIColor object that is uniformly blended with
+                       the result of the blur and saturation operations. The
+                       alpha channel of this color determines how strong the
+                       tint is. nil means no tint.
+ 
+ @param tintBlendMode  The @a tintColor blend mode. Default is kCGBlendModeNormal (0).
+ 
+ @param saturation     A value of 1.0 produces no change in the resulting image.
+                       Values less than 1.0 will desaturation the resulting image
+                       while values greater than 1.0 will have the opposite effect.
+                       0 means gray scale.
+ 
+ @param maskImage      If specified, @a inputImage is only modified in the area(s)
+                       defined by this mask.  This must be an image mask or it
+                       must meet the requirements of the mask parameter of
+                       CGContextClipToMask.
+ 
+ @return               image with effect, or nil if an error occurs (e.g. no
+                       enough memory).
+ */
+- (nullable UIImage *)imageByBlurRadius:(CGFloat)blurRadius
+                              tintColor:(nullable UIColor *)tintColor
+                               tintMode:(CGBlendMode)tintBlendMode
+                             saturation:(CGFloat)saturation
+                              maskImage:(nullable UIImage *)maskImage;
+
+@end
+
+NS_ASSUME_NONNULL_END

--
Gitblit v1.8.0