bonus-material-app/nativeplugins/Mpaas-Scan/ios/TBDecodeSDK.framework/Headers/QRCodeEncoder.h

60 lines
2.6 KiB
C
Raw Normal View History

2024-12-20 09:23:59 +08:00
//
// QRCodeEncoder.h
// sdk_gen3_3g
//
// Created by Tom on 15/6/10.
// Copyright (c) 2015年 Taobao.com. All rights reserved.
//
// 为减少包大小,支付宝钱包不用这个类生成二维码
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
typedef NS_ENUM(NSUInteger, QRCodeEncodeType) {
QRCodeEncodeTypeGen0 = 0, // 普通黑白二维码
QRCodeEncodeTypeGen1, // 在背景图片上生成二维码背景图片比较模糊生成的二维码其它APP均可以扫描
QRCodeEncodeTypeGen2, // 在背景图片上生成二维码背景图片相对清晰生成的二维码其它APP均可以扫描
QRCodeEncodeTypeGen3, // 在背景图片上生成二维码背景图片上除四个角外其它地方没有点阵信息最美观但只有使用手淘提供的SDK才能解析
QRCodeEncodeTypeLogoInCenter, // 在黑白二维码中间增加小的Logo图片
};
@interface QRCodeEncodeHints : NSObject
// 只有在生成三代码时才需要设置domainIndex
@property (nonatomic, assign) char domainIndex_gen3;
// 只有在生成三代码时才需要设置originContent指明三代码的原始内容用于失败时生成普通黑白二维码
@property (nonatomic, copy) NSString *originContent_gen3;
// 此参数声明黑白二维码中间logo图片的size此size最好小于二维码size的1/3不指定时SDK会使用默认的size
@property (nonatomic, assign) int logoSize;
// 二维码的margin
@property (nonatomic, assign) int margin;
// 二维码的version
@property (nonatomic, assign) int version;
// 三代码的format
@property (nonatomic, assign) int gen3Format;
@end
@interface QRCodeEncoder : NSObject
/**
* gen0以外的二维码失败时会尝试生成gen0二维码使
* 使Logo图片时Logo图片会根据hints参数里的logoSize进行缩放logoSize时SDK会自动将Logo图片缩放到合适大小
*
* @param content URL
* @param image Logo图片124px则会拉伸到124px再生成二维码
* @param size
* @param type
* @param hints
*
* @return
*/
+ (UIImage *)encode:(NSString *)content image:(UIImage *)image qrImageSize:(CGFloat)size type:(QRCodeEncodeType)type hints:(QRCodeEncodeHints *)hints;
@end