首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏一“技”之长

    iOS中使用像素位图(CGImageRef)对图片进行处理

    iOS中对图片进行重绘处理的方法总结 一、CGImageRef是什么 CGImageRef是定义在QuartzCore框架中的一个结构体指针,用C语言编写。 CGImageRef CGImageCreateCopy(CGImageRef image) 这个方法可以复制一个CGImageRef对象 CGImageRef CGImageCreateWithJPEGDataProvider (CGImageRef image, CGImageRef mask) 截取mask图像的某一区域重绘 CGImageRef CGImageCreateWithMaskingColors(CGImageRef (CGImageRef image) 引用-1 bool CGImageIsMask(CGImageRef image) 返回是否为Mask图层 size_t CGImageGetWidth(CGImageRef (CGImageRef image) CGBitmapInfo CGImageGetBitmapInfo(CGImageRef image) 三、应用举例 使用CGImageRef进行图片截取     

    1.5K10发布于 2018-08-15
  • 来自专栏一“技”之长

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

    二、通过图像裁剪创建图像     CoreGraphics框架中提供了许多方法来创建位图数据引用CGImageRef对象,其中封装在CGImage.h文件中。 在UIKit框架中也提供了方便的接口供开发者进行CGImageRef与UIImage对象的相互转换。     :@"image"].CGImage; CGContextDrawImage(contextRef, CGRectMake(0, 0, 320, 200), orignImage); CGImageRef orignImage = [UIImage imageNamed:@"image"].CGImage; CGImageRef maskRef = [UIImage imageNamed:@"maskImage orignImage = [UIImage imageNamed:@"image2"].CGImage; CGImageRef maskRef = [UIImage imageNamed:@"

    1.9K10发布于 2018-08-15
  • 来自专栏云原生布道专栏

    IOS开发系列——异步绘制专题

    函数创建CGImageRef 然后把CGImageRef放到CGContext中去编辑 第三种 用CGImageCreateCopy或者CGImageCreateCopyWithColorSpace 函数拷贝 CGImageRef CGImageCreateCopy(CGImageRef image) 这个方法可以复制一个CGImageRef对象 CGImageRef CGImageCreateWithJPEGDataProvider (CGImageRef image,CGImageRef mask) 截取mask图像的某一区域重绘 CGImageRef CGImageCreateWithMaskingColors(CGImageRef image, CGColorSpaceRef space) 通过颜色空间模式复制位图 CGImageRef CGImageRetain(CGImageRef image) 引用+1 void (CGImageRef image) size_t CGImageGetBitsPerPixel(CGImageRef image) size_t CGImageGetBytesPerRow(CGImageRef

    1.8K20编辑于 2022-03-08
  • 来自专栏APP自动化测试

    UIImage 图片处理:截图,缩放,设定大小,存储

    在workspace的framework目录里添加这两个framework.在UIKit里,图像类UIImage和CGImageRef的画图操作都是通过Graphics Context来完成。 如果需要特定区域的图像,可以crop一下) CGImageRef screen = UIGetScreenImage(); UIImage* image = [UIImage imageWithCGImage (UImage封装了CGImage, 互相转换很容易) UIImage* imUI=nil; CGImageRef imCG=nil; imUI = [UIImage initWithCGImage: (在apple dev上有QA, 不过好像还不支持ios) 下面给出一个在ios上反色的例子 -(id)invertContrast:(UIImage*)img { CGImageRef inImage (显示图像数据区,也就是unsigned char*转为graphics context或者UIImage或和CGImageRef) CGContextRef ctx = CGBitmapContextCreate

    2.6K61发布于 2019-10-15
  • 来自专栏云原生布道专栏

    【IOS开发高级系列】异步绘制专题

    1 图片处理 1.1 编辑图片的几个方法 第一种 先用UIImage对象加载一张图片 然后转化成CGImageRef放到CGContext中去编辑 第二种 用CGImageCreate 函数创建CGImageRef 然后把CGImageRef放到CGContext中去编辑 第三种 用CGImageCreateCopy 或者CGImageCreateCopyWithColorSpace CGImageRef CGImageCreateCopy(CGImageRefimage) 这个方法可以复制一个CGImageRef对象 CGImageRef CGImageCreateWithJPEGDataProvider (CGImageRef image, CGImageRefmask) 截取mask图像的某一区域重绘 CGImageRef CGImageCreateWithMaskingColors(CGImageRefimage , const CGFloatcomponents[]) 通过颜色分量数组创建位图 CGImageRef CGImageCreateCopyWithColorSpace(CGImageRefimage

    1.9K20编辑于 2022-03-08
  • 来自专栏代码小技巧分享分析

    iOS使用代码截图

    myImageRect = CGRectMake(70, 10, 150, 150); UIImage* bigImage= [UIImage imageNamed:@"mm.jpg"]; CGImageRef imageRef = bigImage.CGImage; CGImageRef subImageRef = CGImageCreateWithImageInRect(imageRef, myImageRect

    1.2K00发布于 2021-10-31
  • 来自专栏直播知识

    短视频直播源码,iOS图片去背景

    result; } - (UIImage *)imageFromBRGABytes:(unsigned char *)imageBytes imageSize:(CGSize)imageSize {     CGImageRef *image = [UIImage imageWithCGImage:imageRef];     CGImageRelease(imageRef);     return image; } - (CGImageRef                                                  colorSpace,                                                 kCGImageAlphaPremultipliedLast);     CGImageRef

    83830发布于 2020-11-20
  • 来自专栏一“技”之长

    iOS开发之AssetsLibrary框架使用

    ALAssetOrientationRightMirrored , // vertical flip }; */ - (void)writeImageToSavedPhotosAlbum:(CGImageRef const ALAssetsGroupPropertyURL;//组URL */ - (id)valueForProperty:(NSString *)property; //获取当前组的缩略图海报 - (CGImageRef )thumbnail; - (CGImageRef)aspectRatioThumbnail; //写入图片数据 - (void)writeModifiedImageDataToSavedPhotosAlbum )buffer fromOffset:(long long)offset length:(NSUInteger)length error:(NSError **)error; //获取图片数据 - (CGImageRef )fullResolutionImage; - (CGImageRef)CGImageWithOptions:(NSDictionary *)options; //获取全屏图片 - (CGImageRef

    1.3K10发布于 2018-09-20
  • 来自专栏HelloCode开发者学习平台

    看完必懂 【iOS图片解压缩】流程总结

    UImage *image = [UImage imageNamed:@"fly"]; CGImageRef cgImageRef = [image CGImage]; // 将UImage转换为CGImageRef // 获取图片宽高 GLuint width = (GLuint)CGImageGetWidth(cgImageRef); GLuint height = (GLuint)CGImageGetHeight (cgImageRef); //获取图片的rect CGRect rect = CGRectMake(0, 0, width, height); //获取图片的颜色空间 CGColorSpaceRef ); CGContextClearRect(context, rect); // 对图片进行重新绘制,得到一张新的解压缩后的位图 CGContextDrawImage(context, rect, cgImageRef

    1.4K20发布于 2021-08-25
  • 来自专栏iOS 备忘录

    iOS 11.0 之后拍照生成的imageOrientation的问题

    imageData]; [self takeImageCompletion:tempImage buffer:nil error:error]; } } 获取AVCapturePhoto的CGImageRef error) { CGImageRef ref = [photo CGImageRepresentation]; UIImage * image = [UIImage imageWithCGImage error) { CGImageRef ref = [photo CGImageRepresentation]; // 这里是用的是生成图片时的设备方向

    2.5K31发布于 2021-04-15
  • 来自专栏代码小技巧分享分析

    iOS处理图片颜色代码

    处理图片颜色 (UIImage)grayscale:(UIImage)anImage type:(int)type{ CGImageRef imageRef = anImage.CGImage; (data)); CGDataProviderRef effectedDataProvider = CGDataProviderCreateWithCFData(effectedData); CGImageRef

    2.2K00发布于 2021-10-31
  • 来自专栏岑志军的专栏

    iOS系统生成二维码

    (CGBitmapInfo)kCGImageAlphaNone); CIContext *context = [CIContext contextWithOptions:nil]; CGImageRef bitmapRef, scale, scale); CGContextDrawImage(bitmapRef, extent, bitmapImage); // 2.保存bitmap到图片 CGImageRef

    83840发布于 2018-05-28
  • 来自专栏iOS面试技术问题

    探讨iOS 图片解压缩到渲染过程

    May return nil if image has no CGImageRef or invalid bitmap format UIKIT_EXTERN NSData * __nullable UIImagePNGRepresentation May return nil if image has no CGImageRef or invalid bitmap format. compression is 0(most)..1(least) kCGImageAlphaPremultipliedFirst 五.YYImage\SDWebImage开源框架实现 用于解压缩图片的函数 YYCGImageCreateDecodedCopy 存在于 YYImageCoder 类中,核心代码如下 CGImageRef YYCGImageCreateDecodedCopy(CGImageRef imageRef, BOOL decodeForDisplay) { ... CGContextDrawImage(context, CGRectMake(0, 0, width, height), imageRef); // decode CGImageRef

    2.1K40发布于 2020-09-17
  • 来自专栏css小迷妹

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

    nil]; CIImage *outputImage = filter.outputImage; CGImageRef } int boxSize = (int)(blur * 100); boxSize = boxSize - (boxSize % 2) + 1; CGImageRef colorSpace, kCGImageAlphaNoneSkipLast); CGImageRef

    3.2K10发布于 2021-10-29
  • 来自专栏阿林前端开发攻城狮

    iOS从背景图中取色的代码

    static CGContextRef CreateRGBABitmapContext (CGImageRef inImage) { CGContextRef context = NULL; 255),用无符号的char是因为它正好的取值范围就是0-255 static unsigned char *RequestImagePixelData(UIImage *inImage) { CGImageRef

    1.3K20发布于 2021-10-29
  • 来自专栏Molier的小站

    iOS 中使用 OpenGL 实现增高功能

    > vertices[7]) { [self.glView display]; } } 通过 glReadPixels 来从内存中读取像素数据,GLubyte -> CGImageRef (NULL, data, dataLength, NULL); CGColorSpaceRef colorspace = CGColorSpaceCreateDeviceRGB(); CGImageRef kCGBlendModeCopy); CGContextDrawImage(cgcontext, CGRectMake(0, 0, imageWidth, imgHeight), iref); CGImageRef

    79740编辑于 2022-11-03
  • 来自专栏向治洪

    ios zxing扫码问题

    colorSpace, kCGBitmapByteOrder32Little | kCGImageAlphaNoneSkipFirst); CGImageRef ONE_D_BAND_HEIGHT + 1); // cropRect.size.width = ONE_D_BAND_HEIGHT; // // do a rotate // CGImageRef (width-cropRect.size.width)/2; cropRect.origin.y = (height-cropRect.size.height)/2; } CGImageRef

    2.7K60发布于 2018-02-05
  • 来自专栏程序员——iOS开发

    iOS开发 - 图片的解压缩到渲染过程

    May return nil if image has no CGImageRef or invalid bitmap format UIKIT_EXTERN NSData * __nullable UIImagePNGRepresentation May return nil if image has no CGImageRef or invalid bitmap format. compression is 0(most)..1(least) kCGImageAlphaPremultipliedFirst 五.YYImage\SDWebImage开源框架实现 用于解压缩图片的函数 YYCGImageCreateDecodedCopy 存在于 YYImageCoder 类中,核心代码如下 CGImageRef YYCGImageCreateDecodedCopy(CGImageRef imageRef, BOOL decodeForDisplay) { ... CGContextDrawImage(context, CGRectMake(0, 0, width, height), imageRef); // decode CGImageRef

    2K00发布于 2019-04-25
  • 来自专栏云原生布道专栏

    【IOS开发进阶系列】APP性能优化专题

    ].scale;     //    CGFloat targetHeight = imageSize.height * [UIScreen mainScreen].scale;     //    CGImageRef CGContextDrawImage(bitmapContext, CGRectMake(0, 0, targetWidth, targetHeight), imageRef);     //    CGImageRef CGDataProviderRef dataProvider = CGDataProviderCreateWithCFData((__bridge CFDataRef)data);     //    CGImageRef     //    CGFloat targetHeight = imageSize.height * [UIScreen mainScreen].scale;     //    //        CGImageRef bitmapContext) return image;     //     //    CGImageRef imgref = CGBitmapContextCreateImage(bitmapContext

    1.2K20编辑于 2023-10-16
  • 来自专栏macOS 开发学习

    Mac开发跬步积累(四):ImageIO解析Gif 图像数据

    获取CGImage 资源 */ guard let cgImageRef = CGImageSourceCreateImageAtIndex(imageSourceRef, 根据CGImage 创建NSImage */ let image = NSImage(cgImage: cgImageRef, size: CGSize(width: cgImageRef.width , height: cgImageRef.height)) /** 8.

    2.5K30发布于 2018-10-10
领券