• [Swift通天遁地]一、超级工具-(20)图片面部聚焦:使图像视图自动聚焦图片人物的面部位置


    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
    ➤微信公众号:山青咏芝(shanqingyongzhi)
    ➤博客园地址:山青咏芝(https://www.cnblogs.com/strengthen/
    ➤GitHub地址:https://github.com/strengthen/LeetCode
    ➤原文地址:https://www.cnblogs.com/strengthen/p/10176507.html 
    ➤如果链接不是山青咏芝的博客园地址,则可能是爬取作者的文章。
    ➤原文已修改更新!强烈建议点击原文地址阅读!支持作者!支持原创!
    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★

    目录:[Swift]通天遁地Swift

    本文将演示如何使图片的头像,自动位于图像视图的焦点位置。

    首先确保在项目中已经安装了所需的第三方库。

    点击【Podfile】,查看安装配置文件。

    根据配置文件中的相关配置,安装第三方库。

    1 platform :ios, '12.0'
    2 use_frameworks!
    3 
    4 target 'DemoApp' do
    5     source 'https://github.com/CocoaPods/Specs.git'
    6     pod 'FaceAware'
    7 end

    然后点击打开【DemoApp.xcworkspace】项目文件。

    往项目中导入一张包含人像的图片:【Pic1】

    在项目导航区,打开视图控制器的代码文件【ViewController.swift】

    现在开始编写代码,使图像视图加载已经导入的人物图片。

     1 import UIKit
     2 //在当前类文件中,引入已经安装的第三方类库
     3 import FaceAware
     4 
     5 class ViewController: UIViewController {
     6 
     7     override func viewDidLoad() {
     8         super.viewDidLoad()
     9         // Do any additional setup after loading the view, typically from a nib.
    10         
    11         //通过图片的名称,从项目中加载该图片
    12         let image = UIImage(named: "Pic1")
    13         //初始化一个图像视图,并设置图像视图的显示区域
    14         let imageView = UIImageView(frame: CGRect(x: 0, y: 0,  200, height: 200))
    15         //将图像视图放置在屏幕的中心位置
    16         imageView.center = self.view.center
    17         //设置图像视图需要显示的图片内容
    18         imageView.image = image
    19         //设置图像视图的层的圆角半径为100。
    20         //由于图像视图的宽度和高度都是200,所以这里创建了一个圆形的图像视图。
    21         imageView.layer.cornerRadius = 100
    22         //设置图像视图的层的遮罩属性,裁剪在圆形之外的图像。
    23         imageView.layer.masksToBounds = true
    24         //图像视图的面部检测,聚焦图片人物面部位置,显示在图像视图焦点位置。
    25         imageView.focusOnFaces = true
    26         
    27         //将图像视图添加到当前视图控制器的根视图
    28         self.view.addSubview(imageView)
    29     }
    30 
    31     override func didReceiveMemoryWarning() {
    32         super.didReceiveMemoryWarning()
    33         // Dispose of any resources that can be recreated.
    34     }
    35 }
  • 相关阅读:
    U10783 名字被和谐了
    P1151 子数整数
    P2756 飞行员配对方案问题
    P3227 [HNOI2013]切糕
    BZOJ 2127: happiness(最小割解决集合划分)
    linux脚本初体验
    130902 周赛
    Citrix 服务器虚拟化之三十二 XenConvert
    数据字典统一管理,动态下拉框
    [置顶] oracle 数据库表中转换成java代码
  • 原文地址:https://www.cnblogs.com/strengthen/p/10176507.html
Copyright © 2020-2023  润新知