首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏iOSer成长记录

    iOS-CoreImage滤镜效果预览

    { guard let image = self.cgImage else { return nil } #if DEBUG attributes as Any) #endif // 输入CIImage let input = CIImage(cgImage: image) CIImage let output = input.applyingFilter(name, parameters: parameters) // 渲染图片(CIImage->CGImage ) guard let cgimage = CIContext(options: nil).createCGImage(output, from: input.extent) else { return nil } return UIImage(cgImage: cgimage) }

    1K30发布于 2018-06-29
  • 来自专栏一“技”之长

    iOS MachineLearning 系列(9)—— 人物蒙版图生成

    // 图像分析请求 lazy var imageRequestHandler = VNImageRequestHandler(ciImage: CIImage(cgImage: image.cgImage outputImage else { return } let context = CIContext(options: nil) let cgImage = context.createCGImage (outputImage, from: outputImage.extent) let uiImage = UIImage(cgImage: cgImage!) outputImage else { return } let context = CIContext(options: nil) let cgImage = context.createCGImage (outputImage, from: outputImage.extent) let uiImage = UIImage(cgImage: cgImage!)

    87720编辑于 2023-05-02
  • 来自专栏css小迷妹

    iOS实现毛玻璃效果,图片模糊效果的三种方法

    withBlurLevel:(CGFloat)blur { CIImage *inputImage = [CIImage imageWithCGImage:image.CGImage boxSize = (int)(blur * 100); boxSize = boxSize - (boxSize % 2) + 1; CGImageRef img = image.CGImage effectInContext, 0, -self.size.height); CGContextDrawImage(effectInContext, imageRect, self.CGImage outputContext, 0, -self.size.height); // 开始画底图 CGContextDrawImage(outputContext, imageRect, self.CGImage outputContext); if (maskImage) { CGContextClipToMask(outputContext, imageRect, maskImage.CGImage

    3.3K10发布于 2021-10-29
  • 来自专栏学海无涯

    iOS开发之高性能数值计算利器Accelerate

    { guard let cgImage = image.cgImage else { return nil } // 创建图像格式 var format sourceBuffer = vImage_Buffer() var error = vImageBuffer_InitWithCGImage(&sourceBuffer, &format, nil, cgImage free(destinationBuffer.data) return nil } // 从vImage缓冲区创建新的CGImage = kvImageNoError { return nil } // 从CGImage创建UIImage return UIImage (cgImage: blurredImage.takeRetainedValue()) } } 效果。

    29800编辑于 2025-05-17
  • 来自专栏iOS开发~

    iOS_给View的部分区域截图 snapshot for view

    { guard let image = self.mooSnapshot() else { return nil } guard let cgImage = image.cgImage (to: scaledRect) else { return nil } let returnImage = UIImage(cgImage: scaledCGImage) scaledRect = CGRectApplyAffineTransform(frame, CGAffineTransformMakeScale(scale, scale)); CGImageRef cgImage = CGImageCreateWithImageInRect(image.CGImage, scaledRect); UIImage *returnImage = [UIImage imageWithCGImage :cgImage]; CGImageRelease(cgImage); return returnImage; } 以下就是将一个view的上半部分截取成image后展示如下: 3.旧方法

    1.3K10编辑于 2023-12-18
  • 来自专栏APP自动化测试

    iOS给图片添加滤镜&使用openGLES动态渲染图片

    将滤镜中的图片渲染出来 14 CIContext *context = [CIContext contextWithOptions:nil]; 15 16 CGImageRef cgImage fromRect:[outImage extent]]; 18 19 //导出图片 20 UIImage *showImage = [UIImage imageWithCGImage:cgImage ]; 21 22 CGImageRelease(cgImage); 23 24 UIImageView *imageView = [[UIImageView alloc :[outputImage extent]]; 28 29 //导出图片 30 UIImage *showImage = [UIImage imageWithCGImage:cgImage ]; 31 32 CGImageRelease(cgImage); 33 34 UIImageView *imageView = [[UIImageView alloc

    2.4K60发布于 2019-10-15
  • 来自专栏编程之旅

    iOS开发——实用性技巧

    forKey:kCIInputImageKey]; CIImage *result = [filter valueForKey:kCIOutputImageKey]; CGImageRef cgImage createCGImage:result fromRect:[result extent]]; UIImage *resultImage = [UIImage imageWithCGImage:cgImage ]; CGImageRelease(cgImage); return resultImage; } 6.对图片进行模糊处理 // CIGaussianBlur ---> 高斯模糊 // createCGImage:result fromRect:[result extent]]; UIImage *resultImage = [UIImage imageWithCGImage:cgImage ]; CGImageRelease(cgImage); return resultImage; }else{ return nil; }

    85920发布于 2018-08-30
  • 来自专栏一“技”之长

    iOS开发CoreGraphics核心图形框架之七——图像处理

    二、通过图像裁剪创建图像     CoreGraphics框架中提供了许多方法来创建位图数据引用CGImageRef对象,其中封装在CGImage.h文件中。 CGContextScaleCTM(contextRef, 1.0, -1.0); CGImageRef orignImage = [UIImage imageNamed:@"image"].CGImage CGContextScaleCTM(contextRef, 1.0, -1.0); CGImageRef orignImage = [UIImage imageNamed:@"image"].CGImage ; CGImageRef maskRef = [UIImage imageNamed:@"maskImage"].CGImage; //通过图片数据创建膜层 CGImageRef CGContextScaleCTM(contextRef, 1.0, -1.0); CGImageRef orignImage = [UIImage imageNamed:@"image2"].CGImage

    2K10发布于 2018-08-15
  • 来自专栏王大锤

    iOS拍照图片旋转的问题

    : case UIImageOrientationRight: break; } // Now we draw the underlying CGImage self.size.width, self.size.height, CGImageGetBitsPerComponent(self.CGImage CGImageGetBitmapInfo(self.CGImage)); CGContextConcatCTM(ctx, transform); switch (self.imageOrientation CGContextDrawImage(ctx, CGRectMake(0,0,self.size.height,self.size.width), self.CGImage); default: CGContextDrawImage(ctx, CGRectMake(0,0,self.size.width,self.size.height), self.CGImage

    6.8K40发布于 2019-03-20
  • 来自专栏岑志军的专栏

    iOS模仿系统相机拍照你不曾注意过的细节

    : case UIImageOrientationRight: break; } // Now we draw the underlying CGImage self.size.width, self.size.height, CGImageGetBitsPerComponent(self.CGImage CGImageGetBitmapInfo(self.CGImage)); CGContextConcatCTM(ctx, transform); switch (self.imageOrientation CGContextDrawImage(ctx, CGRectMake(0,0,self.size.height,self.size.width), self.CGImage); default: CGContextDrawImage(ctx, CGRectMake(0,0,self.size.width,self.size.height), self.CGImage

    86420发布于 2018-07-03
  • 来自专栏KyXu

    【iOS开发】生成高斯模糊效果背景

    createBlurBackground (image:UIImage,view:UIView,blurRadius:Float) { //处理原始NSData数据 let originImage = CIImage(CGImage : image.CGImage ) //创建高斯模糊滤镜 let filter = CIFilter(name: "CIGaussianBlur") filter.setValue CIImage let blurImage = UIImage(CGImage: context.createCGImage(result, fromRect: result.extent())

    2.7K20发布于 2019-04-11
  • 来自专栏落影的专栏

    直播APP常用动画效果

    imageNamed:@"image/animation/gift_boat"]; CGSize sourceSize = sourceImage.size; CGImageRef cgimage = CGImageCreateWithImageInRect(sourceImage.CGImage, ]; CGImageRelease(cgimage); cgimage = CGImageCreateWithImageInRect(sourceImage.CGImage, ]; CGImageRelease(cgimage); cgimage = CGImageCreateWithImageInRect(sourceImage.CGImage, ]; CGImageRelease(cgimage); 动画剖析与时间轴 下面这个是一个全屏类型的“天使”礼物动画,我们来剖析下这个动画的构成。

    2.5K80发布于 2018-04-27
  • 来自专栏哈雷彗星撞地球

    iOS 中的CIFilter(基础用法)

    譬如:CIImage(contentsOfURL:), CIImage(data:), CIImage(CGImage:), CIImage(bitmapData:bytesPerRow:size:format extent) // 3 将CGImage转换为UIImage let newImage = UIImage(CGImage: cgimg) self.imageView.image ALAssetsLibrary 提供了将CGImage直接保存到相册的示例方法:writeImageToSavedPhotosAlbum,只可惜它到iOS 9.0 就弃用了☹️,当工程的最低兼容版本大于 softwareContext = CIContext(options: [kCIContextUseSoftwareRenderer : true]) // 3 将CIImage转换为CGImage let cgimage = softwareContext.createCGImage(imageToSave, fromRect: imageToSave.extent)

    2.5K30发布于 2018-08-22
  • 来自专栏macOS 开发学习

    CALayer 实用属性补充

    特记录以下内容,整理自ios核心动画高级技巧 · GitBook (墙裂推荐阅读此翻译文档)  contents 属性 这个属性的类型被定义为id(这是由于MacOSX历史原因造成的,因为在Mac中这个属性对CGImage UIImage *image = [UIImage imageNamed:@"demoImage"];  self.demoView.layer.contents = (__bridge id )(image.CGImage 当我们使用UIImage时,会获取高质量的图片,但CGImage没有拉伸概念,因此使用CGImage设置图片时,拉伸的因素会在转换的时候丢失,当用代码设置contents图片时,要手动设置图层的contentsScale image toView:(UIView *)toView withContentsRect:(CGRect)rect{ toView.layer.contents = (__bridge id)image.CGImage

    1.2K30发布于 2018-08-23
  • 来自专栏一棹烟波

    OpenCV Mat与UIImage之间的转换

    cvMatWithImage:(UIImage *)image 2 { 3 CGColorSpaceRef colorSpace = CGImageGetColorSpace(image.CGImage Bitmap info flags 17 18 CGContextDrawImage(contextRef, CGRectMake(0, 0, cols, rows), image.CGImage CGDataProviderRef provider = CGDataProviderCreateWithCFData((__bridge CFDataRef)data); 41 42 // Creating CGImage kCGRenderingIntentDefault //intent 55 ); 56 57 // Getting UIImage from CGImage

    1.7K30发布于 2019-05-25
  • 来自专栏Charlie's Road

    图层树和寄宿图 -- iOS Core Animation 系列一

    只有赋CGImage的时候才能正确显示。 contents 这个奇怪的表现是由 Mac OS 的历史原因造成的,因为在 Mac OS 系统上,这个属性对 CGImage 和 NSImage 类型的值都起作用。 事实上,真正赋值的类型应该是CGImageRef,这是一个指向CGImage结构的指针。 因为CGImage和UIImage不一样,它没有拉伸的感念。用UIImage读取图片时,读取了高质量的Retina图片。 2.2 Custom Drawing 除了给contents赋值CGImage来设置寄宿图之外,还可以直接用Core Graphics来绘制寄宿图。

    1.7K20发布于 2018-10-19
  • 来自专栏iOS 备忘录

    iOS界面黑白实现

    UIImage (Category)- (UIImage *)grayImage { CIImage *beginImage = [CIImage imageWithCGImage:self.CGImage 转换图片,创建基于GPU的CIContext对象 CIContext *context = [CIContext contextWithOptions:nil]; CGImageRef cgImage ]; // 释放C对象 CGImageRelease(cgImage); return newImage;}- (UIImage *)anotherGrayImage { // 3:源文件(原图片)(说白了现在是一个C/C++的内存区域) CGContextDrawImage(context, CGRectMake(0, 0, width, height), self.CGImage ); //第四步:将绘制颜色空间转成CGImage(转成可识别图片类型) CGImageRef grayImageRef = CGBitmapContextCreateImage(context

    2K40编辑于 2022-12-12
  • 来自专栏大师级码师

    ios通过按钮点击异步加载图片代码

    CGSizeEqualToSize(size, CGSizeZero)) { image = [UIImage imageWithCGImage:image.CGImage scale colorSpace, kCGImageAlphaPremultipliedFirst); CGContextDrawImage(context, CGRectMake(0, 0, w, h), img.CGImage ); CGContextDrawImage(context, CGRectMake(w - logoWidth, 0, logoWidth, logoHeight), [logo CGImage])

    2.2K10发布于 2021-10-29
  • 来自专栏TechBox

    屏幕成像原理以及FPS优化Tips

    CGImageRef cgImage = image.CGImage; // alphaInfo CGImageAlphaInfo alphaInfo 绘制到上下文会触发解码 CGContextDrawImage(context, CGRectMake(0, 0, width, height), cgImage); / / get CGImage cgImage = CGBitmapContextCreateImage(context); // into UIImage UIImage *newImage = [UIImage imageWithCGImage:cgImage]; // release CGContextRelease( context); CGImageRelease(cgImage); // back to the main thread dispatch_async

    10.4K73发布于 2020-03-20
  • 来自专栏Dotnet9

    SwiftUI图片处理(缩放、拼图)

    { // 从view、data、CGImage获取BitmapImageRep // NSBitmapImageRep *bitmap = [NSBitmapImageRep imageRepWithData:data]; // NSBitmapImageRep *bitmap = [[[NSBitmapImageRep alloc] initWithCGImage:CGImage var imageRef: CGImage? = nil if(imageData ! 转 NSImage func getNSImageWithCGImageRef(imageRef: CGImage) -> NSImage? { return NSImage(cgImage: imageRef, size: NSSize(width: imageRef.width, height: imageRef.height

    4.9K20发布于 2021-12-01
领券