- (void)createLogoImage { NSArray *filter = [CIFilter filterNamesInCategory:kCICategoryBuiltIn]; NSLog(@"%@", filter); // 二維碼過濾器 CIFilter *filterImage = [CIFilter filterWithName:@"CIQRCodeGenerator"]; // 將二位碼過濾器設置為默認屬性 [filterImage setDefaults]; // 將文字轉化為二進制 NSData *dataImage = [@"mafeng" dataUsingEncoding:NSUTF8StringEncoding]; // 打印輸入的屬性 NSLog(@"%@", filterImage.inputKeys); // KVC 賦值 [filterImage setValue:dataImage forKey:@"inputMessage"]; // 取出輸出圖片 CIImage *outputImage = [filterImage outputImage]; outputImage = [outputImage imageByApplyingTransform:CGAffineTransformMakeScale(20, 20)]; // 轉化圖片 UIImage *image = [UIImage imageWithCIImage:outputImage]; // 為二維碼加自定義圖片 // 開啟繪圖, 獲取圖片 上下文<圖片大小> UIGraphicsBeginImageContext(image.size); // 將二維碼圖片畫上去 [image drawInRect:CGRectMake(0, 0, image.size.width, image.size.height)]; // 將小圖片畫上去 UIImage *smallImage = [UIImage imageNamed:@"123.jpg"]; [smallImage drawInRect:CGRectMake((image.size.width - 100) / 2, (image.size.width - 100) / 2, 100, 100)]; // 獲取最終的圖片 UIImage *finalImage = UIGraphicsGetImageFromCurrentImageContext(); // 關閉上下文 UIGraphicsEndImageContext(); // 顯示 self.imageview.image = finalImage; }
