- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试为 OS X 制作一个 QR 码生成器,但我还没有成功制作出比黑白 QR 码更丰富多彩的 QR 码,我正在使用 CIImage Filters 的 CIQRCodeGenerator我完成了这项工作,我有一个示例代码,已在我的应用程序中实现:-
+ (NSImage *)createQRImageForString:(NSString *)string size:(CGSize)size {
// Setup the QR filter with our string
CIFilter *filter = [CIFilter filterWithName:@"CIQRCodeGenerator"];
[filter setDefaults];
NSData *data = [string dataUsingEncoding:NSUTF8StringEncoding];
[filter setValue:data forKey:@"inputMessage"];
CIImage *image = [filter valueForKey:@"outputImage"];
// Calculate the size of the generated image and the scale for the desired image size
CGRect extent = CGRectIntegral(image.extent);
CGFloat scale = MIN(size.width / CGRectGetWidth(extent), size.height / CGRectGetHeight(extent));
// Since CoreImage nicely interpolates, we need to create a bitmap image that we'll draw into
// a bitmap context at the desired size;
size_t width = CGRectGetWidth(extent) * scale;
size_t height = CGRectGetHeight(extent) * scale;
CGColorSpaceRef cs = CGColorSpaceCreateDeviceRGB();
CGContextRef bitmapRef = CGBitmapContextCreate(nil, width, height, 8, 256*4, cs, (CGBitmapInfo)kCGImageAlphaPremultipliedFirst);
#if TARGET_OS_IPHONE
CIContext *context = [CIContext contextWithOptions:nil];
#else
CIContext *context = [CIContext contextWithCGContext:bitmapRef options:nil];
#endif
CGImageRef bitmapImage = [context createCGImage:image fromRect:extent];
CGContextSetInterpolationQuality(bitmapRef, kCGInterpolationNone);
CGContextScaleCTM(bitmapRef, scale, scale);
CGContextDrawImage(bitmapRef, extent, bitmapImage);
// Create an image with the contents of our bitmap
CGImageRef scaledImage = CGBitmapContextCreateImage(bitmapRef);
// Cleanup
CGContextRelease(bitmapRef);
CGImageRelease(bitmapImage);
return [[NSImage alloc] initWithCGImage:scaledImage size:NSZeroSize];
}
有人可以给我指出正确的方向吗?
最佳答案
这是一个 swift 示例(供 Google 用户使用)
func qrCode(from string: String) -> UIImage? {
let data = string.data(using: .ascii)
// Generate the code image with CIFilter
guard let filter = CIFilter(name: "CIQRCodeGenerator") else { return nil }
filter.setValue(data, forKey: "inputMessage")
// Scale it up (because it is generated as a tiny image)
let scale = UIScreen.main.scale
let transform = CGAffineTransform(scaleX: scale, y: scale)
guard let output = filter.outputImage?.transformed(by: transform) else { return nil }
// Change the color using CIFilter
let colorParameters = [
"inputColor0": CIColor(color: UIColor.black), // Foreground
"inputColor1": CIColor(color: UIColor.clear) // Background
]
let colored = output.applyingFilter("CIFalseColor", parameters: colorParameters)
return UIImage(ciImage: colored)
}
关于macos - 如何更改 CIFilter CIQRCodeGenerator 过滤器的背景色和前景色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24210185/
我正在尝试对 ARSCNView 中的相机实时 Steam 图像应用模糊效果。我检查了 WWDC 视频。他们只提到了使用 Metal 进行自定义渲染,但我在网上没有找到任何完整的示例。知道怎么做吗?
是否有任何 CIFilter 具有与 Photoshop“添加噪点”滤镜类似的效果? 最佳答案 您可以使用CIRandomGenerator与一些混合过滤器(加法、筛选或其他)结合使用。总效应链应该是
是否有显示所有 CIFilter 及其各自值范围的作弊列表? 苹果怎么能逃脱写doc like this列出所有过滤器而不告诉我们可能的范围? 来吧苹果。 最佳答案 我已经对其进行了更新,以使其能够正
static func effectTransfer(image: UIImage) -> UIImage { let coreImage = CIImage(image: image)
我正在拍摄 subview 的快照并将其转换为图像: let image = UIImage(view: swiftyDraw) let scaledImage = scaleImage(image:
我需要有关如何在内存上高效使用 CIFilter 的建议。基本上,我将两个过滤器链接在一起。棘手的部分是我必须先将 UIImage 转换为 CIImage,然后再调用过滤器。代码贴在下面: CIIma
我发现 CIFilter 与 CIGaussianBlur 滤镜的行为非常奇怪。 我正在对不同的图像快速连续地多次执行此方法。有时,将返回“最后处理的图像”而不是我发送的图像。例如,如果我有图像: A
谁能解释一下,我们如何为过滤器中的不同输入参数识别正确的值。我尝试了默认值,但只有少数过滤器对其他不起作用的过滤器提供了适当的效果。 谁能指导我以正确的方式实现 CIFilter? 谢谢 最佳答案 内
我知道可以使用像素缓冲区更改像素的颜色,如下面的代码所示,但我只想使用“CIFilter”模糊像素而不是更改颜色。我不想在整个图像上应用“CIFilter”。 //data pointer – sto
我正在尝试使用以下代码向图层添加模糊效果。 但它不起作用,有什么建议吗? let layer = CALayer() layer.frame = CGRect(x: 150, y: 150, widt
我正在将 CIFilter 应用于 UIImage,但它会减慢我的 UITableView 上的滚动速度。有什么我可以做的吗? - (UITableViewCell *)tableView:(UITa
我正在使用 CISourceOverCompositing 混合两个图像。使用此代码可以正常处理相同大小的图像: CIFIlter *filter1 = [CIFilter filterWithNam
我目前正在尝试用一张由不同的 CIFilter 过滤的图片填充一个 Collection View 。我使用 apples 的方式来获取一组过滤器。 let filterNames = CIFilte
我正在将 CIFilter 应用于肖像图像。由于某种原因,它顺时针旋转了 90 度。我怎样才能解决这个问题?我的代码在下面 var imgOrientation = oImage.imageOrien
我编写了一个自己的 CIFilter 内核,它对相机信号进行一些图像处理。它需要两个参数:参数一是“inputImage”(当前相机图像),参数2是“backgroundImage”,它正在使用第一个
我在图像上添加多个 CIFilter 时遇到问题,例如当我添加亮度滤镜然后尝试添加对比度图像时,图像将变为原始图像(丢失亮度滤镜),然后添加对比度滤镜。 - (IBAction)brightnessS
有谁知道自定义 CIFilter 的图像大小有什么限制?我创建了一个过滤器,当图像高达 2 兆像素时,它可以按预期执行,但当图像更大时,会产生非常奇怪的结果。我已经在我的 cocoa 应用程序和 qu
我想以网格和列表模式复制停靠堆栈的背景。背景是半透明的黑色,带有模糊效果: Example of dock stack in grid mode http://www.thecustommac.com
我正在使用以下代码进行曝光调整及其工作。我需要锐化、降噪、高光、色温、阴影、模糊等滤镜名称。 [CIFilter filterWithName: @"CIExposureAdjust"
我有一个圆形 ImageView 。我设置了它的图像并给出了色调效果,如下所示,效果很好。 let filter = CIFilter(name: "CIPhotoEffectTonal")!
我是一名优秀的程序员,十分优秀!