UIImage處理

1.圖片的圓角效果
<code>
-(UIImage) circleImage:(UIImage) image withParam:(CGFloat) inset {
UIGraphicsBeginImageContextWithOptions(image.size, 0, 1);
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetLineWidth(context, 2);
CGContextSetStrokeColorWithColor(context, [UIColor redColor].CGColor);
CGRect rect = CGRectMake(inset, inset, image.size.width - inset * 2.0f, image.size.height - inset * 2.0f);
CGContextAddEllipseInRect(context, rect);
CGContextClip(context);
[image drawInRect:rect];
CGContextAddEllipseInRect(context, rect);
CGContextStrokePath(context);
UIImage *newimg = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return newimg;

</code>

2.圖片的拉伸
<code>
// UIImageResizingModeStretch:拉伸模式,通過拉伸UIEdgeInsets指定的矩形區(qū)域來填充圖片
// UIImageResizingModeTile:平鋪模式,通過重復顯示UIEdgeInsets指定的矩形區(qū)域來填充圖片
CGFloat top = 25; // 保留頂端高度
CGFloat bottom = 25 ; // 保留底端高度
CGFloat left = 10; // 保留左端寬度
CGFloat right = 10; // 保留右端寬度
UIEdgeInsets insets = UIEdgeInsetsMake(top, left, bottom, right);
// 指定為拉伸模式,伸縮后重新賦值,一般情況下我們只需要拉伸中間1*1區(qū)域就行了
image = [image resizableImageWithCapInsets:insets resizingMode:UIImageResizingModeStretch];
</code>

3.從一張大圖中得到小圖片
<code>
CGRect rect;
UIImage *smallImage = [UIImage imageWithCGImage:CGImageCreateWithImageInRect(image.CGImage, rect)];
</code>

4.圖片的大小
<code>
NSString *path = [[NSHomeDirectory() stringByAppendingPathComponent:@"Documents"] stringByAppendingPathComponent:@"image.png"];
NSData *data = UIImagePNGRepresentation(image);
//圖片大小(得到的是KB)
CGFloat length = [data length]/1000;
//通常當圖片太大時,我們可以先把圖片畫到一個小的畫布上,再得到畫布上的圖片??筛淖儓D片的大小
//把圖片寫打path路徑下
[data writeToFile:path atomically:YES];
// 若要存儲到圖片庫里面
UIImageWriteToSavedPhotosAlbum(image, nil, nil, nil);
</code>

5.改變圖片的透明度
<code>
UIGraphicsBeginImageContextWithOptions(image.size, 0, 1);
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetAlpha(context, alpha);
[image drawInRect:(CGRect){{0,0},image.size}];
UIImage *newimg = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return newimg;
</code>

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • 1、禁止手機睡眠[UIApplication sharedApplication].idleTimerDisabl...
    DingGa閱讀 1,200評論 1 6
  • --繪圖與濾鏡全面解析 概述 在iOS中可以很容易的開發(fā)出絢麗的界面效果,一方面得益于成功系統(tǒng)的設計,另一方面得益...
    韓七夏閱讀 2,969評論 2 10
  • 接下來我們看Base文件夾下的UIKIt文件夾的內(nèi)容。 1.UIColor+YYAdd 這里看了這個類,里面有許多...
    充滿活力的早晨閱讀 2,471評論 0 1
  • 練習舞韻瑜伽1小時,練習拉伸30分鐘,舞蹈基本沒什么問題,硬傷還是拉伸拉伸拉伸,重要的事說三遍,雖然很痛,但是要堅持。
    胖胖向閱讀 120評論 0 0
  • 人生就是個長長的旅途 父母手里握著我們的車票 也許我們所乘坐的列車不同 致使我們遇到的乘客也不會相同 雖然我們目的...
    瀏小煚拓閱讀 741評論 0 1

友情鏈接更多精彩內(nèi)容