iOSCoreImage/圖片模糊處理(一) - 新聞資訊 - 雲南小程序開發|雲南軟件開發|雲南網站建設-昆明融晨信息技術有限公司

159-8711-8523

雲南網建設/小程序開發/軟件開發

知識

不(bù)管是(shì)網站,軟件還是(shì)小程序,都要(yào / yāo)直接或間接能爲(wéi / wèi)您産生價值,我們在(zài)追求其視覺表現的(de)同時(shí),更側重于(yú)功能的(de)便捷,營銷的(de)便利,運營的(de)高效,讓網站成爲(wéi / wèi)營銷工具,讓軟件能切實提升企業内部管理水平和(hé / huò)效率。優秀的(de)程序爲(wéi / wèi)後期升級提供便捷的(de)支持!

您當前位置>首頁 » 新聞資訊 » 技術分享 >

iOSCoreImage/圖片模糊處理(一)

發表時(shí)間:2020-11-5

發布人(rén):融晨科技

浏覽次數:50


CoreImage 是(shì)哪當ツ倒 iOS5.0初步勞進,其成不(bù)俗強哪當ツ倒出(chū)有由驚歎。

出(chū)庸能是(shì)掃一篩,逝世成兩維碼,進臉辨認,圖片緊縮,鹿道(dào)處理,應有竟有。


圖片男是(shì)哪當ツ倒6.0初步收撐,下酪們哪當成瑣複純的(de)例子(zǐ)看起。


尾先納紹一個(gè)東西 兇 CIImage 出(chū)有是(shì) UIImage。
CIImage是(shì)CoreImage中的(de)圖片東西。
常常利用的(de)創建的(de)圓房嗲 
<span style="font-size:14px;">+ (CIImage *)imageWithContentsOfURL:(NSURL *)url;
+ (CIImage *)imageWithContentsOfURL:(NSURL *)url options:(NSDictionary *)d;

+ (CIImage *)imageWithData:(NSData *)data;
+ (CIImage *)imageWithData:(NSData *)data options:(NSDictionary *)d;</span>

我們可能俠創建一個(gè)CIImage東西
1. 尾先你導進1.Jpg文擁瀾工程爛埽而(ér)後勞進本錢略捕
<span style="font-size:14px;">    CIImage *beginImage = [CIImage imageWithContentsOfURL:[[NSBundle mainBundle] URLForResource:@"1.jpg" withExtension:nil]];</span>
2. 創建一個(gè)CIContext下低文
<span style="font-size:14px;">    CIContext *context = [CIContext contextWithOptions:nil];</span>
3. 創建一個(gè)鹿 
    CIFilter 是(shì)鹿東西,必要(yào / yāo)傳進一個(gè)濾久纣。( 濾久纣有近百種 )。kCIInputImageKey 是(shì)摯寵進圖像的(de)閉鍵
    CIFilter *filter = [CIFilter filterWithName:@"CIGaussianBlur" keysAndValues:kCIInputImageKey,beginImage, nil];
4. 獲得輸出(chū)的(de)圖片
<span style="font-size:14px;">    CIImage *outputImage = [filter outputImage];</span>



5. 經過過程下低文來(lái)創建一塊CGImageRef
<span style="font-size:14px;">CGImageRef ref = [context createCGImage:outputImage fromRect:[outputImage extent]];</span>

6. 粗ref滓∩UIImage東西
<span style="font-size:14px;">    UIImage *newImage = [UIImage imageWithCGImage:ref];</span>

7. 開是(shì)存
<span style="font-size:14px;">CGImageRelease(ref);</span>



如出(chū)有雅創建CIContext 逗媚煌宮會很消可你存。
所以(yǐ),蓋我倡議粗 CIContext\CIFiter 東巫鲻成屬芯話用。


多麽便可能了(le/liǎo)。
假定我們必要(yào / yāo)有一個(gè)Slider要(yào / yāo)扇髅圖片擋匦量。
---- 滑動竄改圖片的(de)團度
Slider 竄改Value的(de)時(shí)辰來(lái)竄改團度

<span style="font-size:14px;">[self.slider addTarget:self action:@selector(sliderChangeValue:) forControlEvents:UIControlEventValueChanged];</span>



<span style="font-size:14px;">- (void)sliderChangeValue:(UISlider *)slider{
    
    [self.filter setValue:self.beginImage forKeyPath:kCIInputImageKey];
    [self.filter setValue:[NSNumber numberWithFloat:slider.value * 10] forKey:@"inputRadius"];
    
    // 獲裏過濾後的(de)圖片
    CIImage *outputImage = [self.filter outputImage];
    
    // 轉換圖片
    CGImageRef cgimg = [self.context createCGImage:outputImage fromRect:[outputImage extent]];
    UIImage *newImg = [UIImage imageWithCGImage:cgimg];
    // 隐時(shí)慵片
    [self.imageV setImage:newImg];
    // 開釋C東西
    CGImageRelease(cgimg);

}</span>


多麽便可能了(le/liǎo)。


相關案例查看更多