//molakeFramework
//Created by molake on 16/1/13.
//Copyright ? 2016年molake. All rights reserved.
#import"UIImage+UIImageExtras.h"
@implementationUIImage (UIImageExtras)
- (UIImage *)imageByScalingToSize:(CGSize)targetSize
{
UIImage *sourceImage =self;
UIImage *newImage =nil;
CGSize imageSize = sourceImage.size;
CGFloat width = imageSize.width;
CGFloat height = imageSize.height;
CGFloat targetWidth = targetSize.width;
CGFloat targetHeight = targetSize.height;
CGFloat scaleFactor =0.0;
CGFloat scaledWidth = targetWidth;
CGFloat scaledHeight = targetHeight;
CGPoint thumbnailPoint = CGPointMake(0.0,0.0);
if(CGSizeEqualToSize(imageSize, targetSize) ==NO) {
CGFloat widthFactor = targetWidth / width;
CGFloat heightFactor = targetHeight / height;
if(widthFactor < heightFactor)
scaleFactor = widthFactor;
else
scaleFactor = heightFactor;
scaledWidth= width * scaleFactor;
scaledHeight = height * scaleFactor;
// center the image
if(widthFactor < heightFactor) {
thumbnailPoint.y = (targetHeight - scaledHeight) *0.5;
}elseif(widthFactor > heightFactor) {
thumbnailPoint.x = (targetWidth - scaledWidth) *0.5;
}
}
// this is actually the interesting part:
UIGraphicsBeginImageContext(targetSize);
CGRect thumbnailRect = CGRectZero;
thumbnailRect.origin = thumbnailPoint;
thumbnailRect.size.width= scaledWidth;
thumbnailRect.size.height = scaledHeight;
[sourceImage drawInRect:thumbnailRect];
newImage =UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
if(newImage ==nil)
NSLog(@"could not scale image");
returnnewImage ;
}
+ (UIImage *)clipFromView: (UIView *) theView
{
UIGraphicsBeginImageContext(theView.frame.size);
CGContextRef context = UIGraphicsGetCurrentContext();
[theView.layer renderInContext:context];
UIImage *theImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
returntheImage;
}
+(UIImage *)clipFromView:(UIView *)theView andFrame:(CGRect)rect
{
UIGraphicsBeginImageContext(theView.frame.size);
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSaveGState(context);
UIRectClip(rect);
UIImage *theImage = UIGraphicsGetImageFromCurrentImageContext();
//[theView.layer renderInContext:context];
UIGraphicsEndImageContext();
returntheImage;
}
+ (UIImage *)imageFromImage:(UIImage *)image inRect:(CGRect)rect {
CGImageRef sourceImageRef = [image CGImage];
CGImageRef newImageRef = CGImageCreateWithImageInRect(sourceImageRef, rect);
UIImage *newImage = [UIImage imageWithCGImage:newImageRef];
returnnewImage;
}
@end
UIImage裁剪
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
- 文/潘曉璐 我一進(jìn)店門刑然,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人暇务,你說(shuō)我怎么就攤上這事泼掠。” “怎么了垦细?”我有些...
- 文/不壞的土叔 我叫張陵择镇,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我括改,道長(zhǎng)腻豌,這世上最難降的妖魔是什么? 我笑而不...
- 正文 為了忘掉前任,我火速辦了婚禮吝梅,結(jié)果婚禮上虱疏,老公的妹妹穿的比我還像新娘。我一直安慰自己憔涉,他們只是感情好订框,可當(dāng)我...
- 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著兜叨,像睡著了一般穿扳。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上国旷,一...
- 那天矛物,我揣著相機(jī)與錄音,去河邊找鬼跪但。 笑死履羞,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的屡久。 我是一名探鬼主播忆首,決...
- 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼被环!你這毒婦竟也來(lái)了糙及?” 一聲冷哼從身側(cè)響起,我...
- 序言:老撾萬(wàn)榮一對(duì)情侶失蹤筛欢,失蹤者是張志新(化名)和其女友劉穎浸锨,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體版姑,經(jīng)...
- 正文 獨(dú)居荒郊野嶺守林人離奇死亡柱搜,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
- 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了剥险。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片聪蘸。...
- 正文 年R本政府宣布,位于F島的核電站阱持,受9級(jí)特大地震影響夭拌,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
- 文/蒙蒙 一鸽扁、第九天 我趴在偏房一處隱蔽的房頂上張望蒜绽。 院中可真熱鬧,春花似錦桶现、人聲如沸躲雅。這莊子的主人今日做“春日...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)相赁。三九已至,卻和暖如春慰于,著一層夾襖步出監(jiān)牢的瞬間钮科,已是汗流浹背。 一陣腳步聲響...
- 正文 我出身青樓休里,卻偏偏與公主長(zhǎng)得像蛆挫,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子妙黍,可洞房花燭夜當(dāng)晚...
推薦閱讀更多精彩內(nèi)容
- 需求是需要上面圓弧效果?PS:用貝塞爾曲線實(shí)現(xiàn)圓弧效果涉及到輕微的高中幾何知識(shí)...可以自行百度悴侵,其實(shí)只需要求出半...
- 最近對(duì)圖片的處理較多逮刨,就總結(jié)出一個(gè)UIImage分類(UIImage+ZJIamge.h),以便之后使用堵泽。 此分類...
- 首先說(shuō)一點(diǎn):國(guó)足贏了修己,苯寶寶表示很高興。 本文是繼上篇文章之[UIImage系列]-圖片的任意旋轉(zhuǎn)迎罗、剪切及拉伸之后...
- Scale and Cut 代碼來(lái)自stackoverflow, 測(cè)試完全可用, 縮放并不強(qiáng)制向下, 若想只向下縮...
- 使用 CGImageRef 簡(jiǎn)單裁剪圖片 需求: 長(zhǎng)方形頭像睬愤,只顯示上半部分,且最終顯示形狀為圓形 效果如下: 黑...