You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

77 lines
2.7 KiB

2 years ago
//
// KJBannerTool.h
// KJBannerViewDemo
//
// Created by 杨科军 on 2019/7/30.
// Copyright © 2019 杨科军. All rights reserved.
//
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
NS_ASSUME_NONNULL_BEGIN
#define KJBannerLoadImages [NSHomeDirectory() stringByAppendingPathComponent:@"Documents/KJLoadImages"];
typedef NS_ENUM(NSInteger, KJBannerImageType) {
KJBannerImageTypeUnknown = 0, /// 未知
KJBannerImageTypeJpeg = 1, /// jpg
KJBannerImageTypePng = 2, /// png
KJBannerImageTypeGif = 3, /// gif
KJBannerImageTypeTiff = 4, /// tiff
KJBannerImageTypeWebp = 5, /// webp
};
/// 图片的几种类型
typedef NS_ENUM(NSInteger, KJBannerImageInfoType) {
KJBannerImageInfoTypeLocality, /// 本地图片
KJBannerImageInfoTypeNetIamge, /// 网络图片
KJBannerImageInfoTypeGIFImage, /// 网络GIF图片
};
/// 滚动方法
typedef NS_ENUM(NSInteger, KJBannerViewRollDirectionType) {
KJBannerViewRollDirectionTypeRightToLeft = 0, /// 默认,从右往左
KJBannerViewRollDirectionTypeLeftToRight, /// 从左往右
};
/// 图片的几种类型
typedef NS_ENUM(NSInteger, KJBannerViewImageType) {
KJBannerViewImageTypeMix = 0, /// 混合,本地图片、网络图片、网络GIF
KJBannerViewImageTypeGIFAndNet,/// 网络GIF图片和网络图片混合
KJBannerViewImageTypeLocality, /// 本地图片
KJBannerViewImageTypeNetIamge, /// 网络图片
KJBannerViewImageTypeGIFImage, /// 网络GIF图片
};
@interface KJBannerDatasInfo : NSObject
@property (nonatomic,strong) NSString *imageUrl;
@property (nonatomic,assign) KJBannerImageInfoType type;
@property (nonatomic,strong) UIImage *image;
@property (nonatomic,assign) NSInteger superType;
@end
@interface KJBannerTool : NSObject
/// 存放数据
@property(nonatomic,strong) NSArray *imageTemps;
/// 单例
+ (instancetype)sharedInstance;
/// 判断该字符串是不是有效的URL
+ (BOOL)kj_bannerValidUrl:(NSString*)url;
/// 根据图片名判断是否是GIF图
+ (BOOL)kj_bannerIsGifImageWithImageName:(NSString*)imageName;
/// 根据图片URL判断是否是GIF图
+ (BOOL)kj_bannerIsGifWithURL:(id)url;
/// 根据image的data判断图片类型
+ (KJBannerImageType)contentTypeWithImageData:(NSData*)data;
/// 判断是网络图片还是本地
+ (BOOL)kj_bannerImageWithImageUrl:(NSString*)imageUrl;
/// 播放网络GIF
+ (NSTimeInterval)kj_bannerPlayGifWithImageView:(UIImageView*)imageView URL:(id)url;
// 获取网络GIF图
+ (UIImage*)kj_bannerGetImageWithURL:(id)url;
/// 保存gif在本地
//+ (void)kj_bannerSaveWithImage:(UIImage*)image URL:(id)url;
/// 从 File 当中获取Gif文件
//+ (UIImage*)kj_bannerGetImageInFileWithURL:(id)url;
/// md5加密
+ (NSString*)kj_bannerMD5WithString:(NSString*)string;
@end
NS_ASSUME_NONNULL_END