亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 系統 > iOS > 正文

iOS中常見的視圖和圖片處理示例詳解

2020-07-26 02:39:59
字體:
來源:轉載
供稿:網友

前言

眾所周知在開發中不可避免的會遇到一些圖片和視圖的處理,我這里總結的這些只是我遇到的一些,以供下次使用查看。下面話不多說了,來一起看看詳細的介紹吧。

圖片的旋轉

是UIImage的擴展類,直接使用UIImage的對象調用即可

UIImage

#import <QuartzCore/QuartzCore.h>#import <Accelerate/Accelerate.h> @implementation UIImage (ImageRotate)-(UIImage *)imageRotateIndegree:(float)degree{ //1.image-》context size_t width = (size_t)(self.size.width *self.scale); size_t height = (size_t)(self.size.height*self.scale);  size_t bytesPerRow = width * 4;//表明每行圖片數據字節 CGImageAlphaInfo alphaInfo = kCGImageAlphaPremultipliedFirst;//alpha //配置上下文參數 CGContextRef bmContext = CGBitmapContextCreate(NULL, width, height, 8, bytesPerRow, CGColorSpaceCreateDeviceRGB(), kCGBitmapByteOrderDefault | alphaInfo); if (!bmContext) { return nil; } CGContextDrawImage(bmContext, CGRectMake(0, 0, width, height), self.CGImage); //2旋轉 UInt8 *data = (UInt8*)CGBitmapContextGetData(bmContext); vImage_Buffer src = {data,height,width,bytesPerRow}; vImage_Buffer dest = {data,height,width,bytesPerRow}; Pixel_8888 bgColor = {0,0,0,0}; vImageRotate_ARGB8888(&src, &dest, NULL, degree, bgColor, kvImageBackgroundColorFill); //3context-》UIImage CGImageRef rotateImageref = CGBitmapContextCreateImage(bmContext); UIImage *rotateImage = [UIImage imageWithCGImage:rotateImageref scale:self.scale orientation:self.imageOrientation]; return rotateImage;}@end

圖片的裁剪

依然是UIImage的擴展類,直接使用UIImage的對象調用即可

UIImage

@implementation UIImage (ImageCut) -(UIImage *)ImageCutSize:(CGRect)rect{ CGImageRef subImageref = CGImageCreateWithImageInRect(self.CGImage, rect); CGRect smallRef = CGRectMake(0, 0, CGImageGetWidth(subImageref), CGImageGetHeight(subImageref));  UIGraphicsBeginImageContext(smallRef.size);  CGContextRef context = UIGraphicsGetCurrentContext(); CGContextDrawImage(context, smallRef, subImageref); UIImage *image = [UIImage imageWithCGImage:subImageref];  UIGraphicsEndImageContext(); return image;}@end

獲取截屏

截屏是UIView的擴展類

UIView

@implementation UIView (imageScreenShot)- (UIImage *)imageScreenShot{ UIGraphicsBeginImageContext(self.frame.size); [self.layer renderInContext:UIGraphicsGetCurrentContext()]; UIImage *imageNew = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); return imageNew;}@end

使用方法

UIView

- (void)imageScreen{ UIImage *imageNew = [self.view imageScreenShot]; UIImageWriteToSavedPhotosAlbum(imageNew, nil, nil, nil); //直接保存在相冊里,要獲取相冊權限} 

圖片比例處理

依然是UIImage的擴展類

UIImage

@implementation UIImage (imageScaleSize) - (UIImage *) scaleImage:(UIImage *)image toScale:(float)scaleSize{ UIGraphicsBeginImageContext(CGSizeMake(image.size.width * scaleSize, image.size.height * scaleSize)); [image drawInRect:CGRectMake(0, 0, image.size.width * scaleSize, image.size.height * scaleSize)]; UIImage *scaledImage = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext();  return scaledImage;}@end

view添加圓角

這里是UIView的擴展類,適用于所有的View,可以設置添加的位置

UIView

@implementation UIView (LSCore) /** 設置部分圓角 絕對布局  @param corners 需要設置為圓角的角 UIRectCornerTopLeft|UIRectCornerTopRight @param radii 需要設置的圓角大小 CGSizeMake(5.0, 5.0) */- (void)addRoundedCorners:(UIRectCorner)corners withRadii:(CGSize)radii{ UIBezierPath *rounded = [UIBezierPath bezierPathWithRoundedRect:self.bounds byRoundingCorners:corners cornerRadii:radii]; CAShapeLayer *shape = [[CAShapeLayer alloc] init]; [shape setPath:rounded.CGPath]; self.layer.mask = shape;}  /** 設置部分圓角 相對布局  @param corners 需要設置為圓角的角 UIRectCornerTopLeft|UIRectCornerTopRight  @param radii 需要設置的圓角大小 CGSizeMake(5.0, 5.0) @param rect 需要設置的圓角view的rect */- (void)addRoundedCorners:(UIRectCorner)corners withRadii:(CGSize)radii viewRect:(CGRect)rect{ UIBezierPath *rounded = [UIBezierPath bezierPathWithRoundedRect:self.bounds byRoundingCorners:corners cornerRadii:radii]; CAShapeLayer *shape = [[CAShapeLayer alloc] init]; [shape setPath:rounded.CGPath]; self.layer.mask = shape;}@end

使用方法以UIImageView為例

UIImage

[image addRoundedCorners:UIRectCornerTopLeft|UIRectCornerTopRight withRadii:CGSizeMake(20.0, 20.0)];

將顏色轉為圖片

UIImage

-(UIImage *)ImageForColor:(UIColor *)color{ CGRect rect = CGRectMake(0.0f, 0.0f, 10, 10); UIGraphicsBeginImageContext(rect.size); CGContextRef context = UIGraphicsGetCurrentContext();  CGContextSetFillColorWithColor(context, [color CGColor]); CGContextFillRect(context, rect);  UIImage *image = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); return image;}

圖片添加系統濾鏡

UIImage

-(UIImage *)blurryImage:(UIImage *)image   withBlurLevel:(CGFloat)blur { CIContext *context = [CIContext contextWithOptions:nil]; CIImage *inputImage = [CIImage imageWithCGImage:image.CGImage]; CIFilter *filter = [CIFilter filterWithName:@"CIGaussianBlur"         keysAndValues:kCIInputImageKey, inputImage,      @"inputRadius", @(blur),      nil];  CIImage *outputImage = filter.outputImage; CGImageRef outImage = [context createCGImage:outputImage          fromRect:[outputImage extent]];  return [UIImage imageWithCGImage:outImage];}

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對武林網的支持。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美一区在线直播| 欧美黑人极品猛少妇色xxxxx| 欧美美女18p| 精品国模在线视频| 国产精品精品视频一区二区三区| 亚洲国产精品系列| 亚洲人成网站在线播| 九九热视频这里只有精品| 成人黄色免费片| 亚洲精品wwww| 日本国产欧美一区二区三区| 亚洲天堂一区二区三区| 亚洲精品久久久一区二区三区| 国产美女精品免费电影| 国产一区二区三区三区在线观看| 成人a在线观看| 97在线观看视频| 欧美国产亚洲精品久久久8v| 中文字幕亚洲天堂| 久久精品国产91精品亚洲| 日韩在线观看免费网站| 亚洲qvod图片区电影| 在线国产精品播放| 欧美激情久久久| 日韩美女免费线视频| 日韩精品视频在线观看免费| 色偷偷88888欧美精品久久久| 一道本无吗dⅴd在线播放一区| 国产精品久久久久久久久久久久久久| 色婷婷av一区二区三区在线观看| 久热99视频在线观看| 91精品国产综合久久男男| 欧美富婆性猛交| 色婷婷综合久久久久中文字幕1| 日韩视频在线观看免费| 久久偷看各类女兵18女厕嘘嘘| 成人免费网站在线观看| 亚洲成人久久久久| 日韩福利视频在线观看| 国产精品久久久久久久久久东京| 亚洲香蕉在线观看| 日本成熟性欧美| 国产狼人综合免费视频| 欧美日韩福利在线观看| 亚洲人成伊人成综合网久久久| 亚洲电影中文字幕| 日韩中文字幕亚洲| 精品国产鲁一鲁一区二区张丽| 日本高清不卡的在线| 欧美乱大交做爰xxxⅹ性3| 精品美女久久久久久免费| 久久天天躁狠狠躁夜夜爽蜜月| 日韩av免费在线看| 国产精品扒开腿爽爽爽视频| 国产一区二区三区精品久久久| 国产精品激情av电影在线观看| 尤物yw午夜国产精品视频| 亚洲欧美成人一区二区在线电影| 精品无码久久久久久国产| 色久欧美在线视频观看| 国产精品久久久久久久久久| 高清一区二区三区日本久| 亚洲第一福利网站| 久久69精品久久久久久久电影好| 按摩亚洲人久久| 成人av电影天堂| 国产精品黄色av| 亚洲欧美国产精品| 欧美性猛交xxxx乱大交3| 国产精品成人免费视频| 欧美日韩黄色大片| 国内伊人久久久久久网站视频| 亚洲日本成人网| 91久久久久久| 欧美成人午夜激情在线| 日本精品性网站在线观看| 色哟哟亚洲精品一区二区| 欧美成年人视频| 伊人成人开心激情综合网| 国产午夜精品久久久| 激情久久av一区av二区av三区| 亚洲有声小说3d| 中文字幕无线精品亚洲乱码一区| 91久久嫩草影院一区二区| 最近2019年中文视频免费在线观看| 亚洲第一色中文字幕| 国产欧美久久一区二区| 亚洲电影天堂av| 日本不卡免费高清视频| 美女视频黄免费的亚洲男人天堂| 在线观看不卡av| 九九热精品视频国产| 69久久夜色精品国产69| 日韩av不卡在线| 国产精品视频公开费视频| 国产剧情久久久久久| 亚洲免费视频网站| 欧美最顶级丰满的aⅴ艳星| 欧美日韩福利视频| 国产亚洲精品久久久优势| 日韩有码视频在线| 92看片淫黄大片欧美看国产片| 九九精品在线视频| 国产精品久久9| 欧美成人午夜激情在线| 国产精品视频区1| 国产精品久在线观看| 精品色蜜蜜精品视频在线观看| 51午夜精品视频| 亚洲激情在线视频| 欧美一区二区大胆人体摄影专业网站| 成人国内精品久久久久一区| www.美女亚洲精品| 国模视频一区二区| 成人免费观看49www在线观看| 亚洲精品日产aⅴ| 欧美黑人又粗大| 久久视频这里只有精品| 久久久精品电影| 欧美黑人极品猛少妇色xxxxx| 欧美激情在线视频二区| 国产成人福利网站| 69影院欧美专区视频| 亚洲欧美第一页| 日韩在线观看网址| 日韩精品免费电影| 中文字幕久久久av一区| 成人免费在线网址| 最近2019年日本中文免费字幕| 欧美极品第一页| 51视频国产精品一区二区| 日韩中文有码在线视频| 精品无码久久久久久国产| 亚洲精品成人网| 91国语精品自产拍在线观看性色| 91色视频在线观看| 国产91露脸中文字幕在线| 亚洲自拍小视频免费观看| 亚洲电影成人av99爱色| 成人精品aaaa网站| 91免费的视频在线播放| 亚洲视频在线观看视频| 国产成人亚洲综合| 亚洲视频精品在线| 亚洲福利在线播放| 亚洲欧洲在线观看| 国产成人中文字幕| 亚洲欧美日韩国产成人| 国产精品久久久久福利| 欧美成人精品在线观看| 国产精品久久久久久久久久三级| 中文字幕日韩欧美| 国产日韩欧美日韩大片| 久久男人资源视频| 欧美亚洲日本黄色| 38少妇精品导航| 亚洲男人天堂古典| 国产精品视频白浆免费视频| 啪一啪鲁一鲁2019在线视频| 日韩在线国产精品| 亚洲综合精品伊人久久| 91久久国产精品91久久性色| 成人h片在线播放免费网站| 欧美成人剧情片在线观看|