티스토리 뷰
IT/swift
[iOS/swift] 코어 그래픽스(Core Graphics) 화면에 꽃 모양(원, 삼각형) 그림 그리기 앱 만들기
moonibot 2020. 1. 1. 21:45Xcode(버전11.3)를 코어 그래픽스(Core Graphics) 화면에 꽃 모양(원, 삼각형) 그림 그리기 앱을 만든다:D
전에 만든 프로젝트를 참고하여 구현한다.
- 스토리보드 화면 구성
Image View 추가
전체 소스 보기
//
// ViewController.swift
// day200101_DrawGraphics2
//
// Created by 무니 on 2020/01/01.
// Copyright © 2020 com.mooni. All rights reserved.
//
import UIKit
class ViewController: UIViewController {
@IBOutlet var imgView: UIImageView!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
drawFlower()
}
// 꽃 모양의 그림을 그리는 함수
private func drawFlower(){
UIGraphicsBeginImageContext(imgView.frame.size)
let context = UIGraphicsGetCurrentContext()!
// 삼각형 그리기
context.setLineWidth(1.0)
context.setStrokeColor(UIColor.green.cgColor)
context.setFillColor(UIColor.green.cgColor)
context.move(to: CGPoint(x: 140, y: 200))
context.addLine(to: CGPoint(x: 170, y: 450))
context.addLine(to: CGPoint(x: 110, y: 450))
context.addLine(to: CGPoint(x: 140, y: 200))
context.fillPath() // 선 채우기
context.strokePath() // 선으로 그려진 삼각형의 내부 채우기
// 원 그리기
context.setLineWidth(1.0)
context.setStrokeColor(UIColor.red.cgColor)
context.addEllipse(in: CGRect(x: 90, y: 150, width: 100, height: 100))
context.addEllipse(in: CGRect(x: 90+50, y: 150, width: 100, height: 100))
context.addEllipse(in: CGRect(x: 90-50, y: 150, width: 100, height: 100))
context.addEllipse(in: CGRect(x: 90, y: 150-50, width: 100, height: 100))
context.addEllipse(in: CGRect(x: 90, y: 150+50, width: 100, height: 100))
context.strokePath()
imgView.image = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
}
}
시뮬레이터 결과 화면
'IT > swift' 카테고리의 다른 글
[iOS/swift] 스케치(Sketch) 앱 만들기 - 탭(Tap), 터치( Touch), 그림 그리기, Shake Gesture (0) | 2020.01.02 |
---|---|
[iOS/swift] 탭(Tap)과 터치(Touch) 연습 앱 만들기 (0) | 2020.01.02 |
[iOS/swift] 코어 그래픽스(Core Graphics) 화면에 그림 그리기 앱 만들기 (0) | 2020.01.01 |
[iOS/swift] Error - Class 'ViewController' has no initializers (0) | 2019.12.30 |
[iOS/swift] UIImagePickerController 카메라와 포토 라이브러리(사진첩) 앱v2 만들기 (3) | 2019.12.30 |