[ 2022-08-15 ๐Ÿ‡ฐ๐Ÿ‡ท TIL ]

Burkeyยท2022๋…„ 8์›” 15์ผ
0

TIL

๋ชฉ๋ก ๋ณด๊ธฐ
13/157

๊ด‘๋ณต์ ˆ๐Ÿ‡ฐ๐Ÿ‡ท

์˜ค๋Š˜์€ ํ™”๋ฉด์—์„œ ์ขŒํ‘œ๊ณ„๋ฅผ ์ด์šฉํ•˜์—ฌ ๋„ํ˜•์„ ๊ทธ๋ ธ์Šต๋‹ˆ๋‹ค.

 func DrawTree(){
        UIGraphicsBeginImageContext(imgView.frame.size)
        //์ปจํ…์ŠคํŠธ(๋„ํ™”์ง€์™€ ๋น„์Šทํ•œ ๊ฐœ๋…) ์‚ฌ์ด์ฆˆ๋ฅผ ์ง€์ •
        let context = UIGraphicsGetCurrentContext()!
        //์ง€์ •๋œ ์˜ต์…˜์— ๋งž๊ฒŒ ์ปจํ…์ŠคํŠธ๋ฅผ ์ƒ์„ฑํ•ด์ค๋‹ˆ๋‹ค.
        
        context.setLineWidth(2.0)//๊ทธ๋ ค์งˆ ์„ ์˜ ๊ตต๊ธฐ
        context.setStrokeColor(UIColor.brown.cgColor)//์„ ์˜ ์ƒ‰๊น”
        context.setFillColor(UIColor.brown.cgColor)//์ฑ„์›Œ์งˆ ์ƒ‰๊นง
        
        context.move(to: CGPoint(x: 140, y: 450))//๊ทธ๋ฆผ์„ ์‹œ์ž‘ํ•  ์œ„์น˜
        context.addLine(to: CGPoint(x: 170, y: 200))//(170.200)๊นŒ์ง€ ์„ ์„ ๊ธ‹๋Š”๋‹ค.
        context.addLine(to: CGPoint(x: 200, y: 450))//(200, 450)๊นŒ์ง€ ์„ ์„ ๊ธ‹๋Š”๋‹ค.
        context.addLine(to: CGPoint(x: 140, y: 450))//(140, 450)๊นŒ์ง€ ์„ ์„ ๊ธ‹๋Š”๋‹ค.
        context.fillPath()//๊ทธ๋ ค์ง„ ๋„ํ˜•์— ์ƒ‰๊น”์„ ์ฑ„์›Œ์ค€๋‹ค.
        context.strokePath()//๋„ํ™”์ง€์— ๊ทธ๋ ค์ง„ ๋„ํ˜•์„ ์ ์šฉํ•œ๋‹ค.
        //์‚ผ๊ฐํ˜•
        
        context.setLineWidth(1.0)
        context.setStrokeColor(UIColor.green.cgColor)
        let circle1 = CGRect(x: 120, y: 150, width: 100, height: 100)
        //CGRect๋ฅผ ์ด์šฉํ•˜์—ฌ (120,150) ์—์„œ ์‹œ์ž‘ํ•˜์—ฌ ๊ฐ€๋กœ 100, ๋†’์ด 100 ์‚ฌ๊ฐํ˜• ์ƒ์„ฑ .
        context.addEllipse(in: circle1)//์ง€์ •ํ•œ ์‚ฌ๊ฐํ˜•์„ ๋‚ด์ ํ•˜๋Š” ์›์„ ๊ทธ๋ฆผ
        context.strokePath()
        //์›
        
        context.setLineWidth(1.0)
        context.setStrokeColor(UIColor.red.cgColor)
        context.setFillColor(UIColor.red.cgColor)
        let rectangle = CGRect(x: 70, y: 50, width: 200, height: 100)
        context.addRect(rectangle)//์ง€์ •ํ•œ ์‚ฌ๊ฐํ˜•์„ ๊ทธ๋ฆผ
        context.fill(rectangle)
        context.strokePath()
        //์‚ฌ๊ฐํ˜•
        
        imgView.image = UIGraphicsGetImageFromCurrentImageContext()
        //imageView์— ๊ทธ๋ฆฐ ์ปจํ…์ŠคํŠธ๋ฅผ ์ด๋ฏธ์ง€๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ๋ณด์—ฌ์ค€๋‹ค.
        UIGraphicsEndImageContext()
        //๊ทธ๋ฆฌ๊ธฐํซ ๋งˆ์นœ๋‹ค.
    }

์˜ค๋Š˜ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋‹ค ์ขŒํ‘œ์˜ ์›์  ๊ธฐ์ค€์ด ์ƒ๊ฐ๊ณผ๋Š” ๋‹ค๋ฅธ ๊ฒƒ์„ ์•Œ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
(1์‚ฌ๋ถ„๋ฉด ๊ธฐ์ค€์œผ๋กœ ์ƒ๊ฐํ•˜์—ฌ ์›์ ์ด ์™ผ์ชฝ์˜ ์•„๋ž˜๋ถ€ํ„ฐ ์ธ ์ค„ ์•Œ์•˜๋‹ค.)

์ธํ„ฐ๋„ท์„ ํ†ตํ•˜์—ฌ ์•Œ์•„๋ณด๋‹ˆ
๋งฅ๋ถ์•ฑ์—์„œ๋Š” ๊ธฐ๋ณธ์œผ๋กœ 1์‚ฌ๋ถ„๋ฉด ๊ธฐ์ค€์œผ๋กœ ์ขŒํ‘œ๊ณ„๋ฅผ ์‚ฌ์šฉํ•˜์ง€๋งŒ
ios์•ฑ์—์„œ๋Š” ๊ธฐ๋ณธ 4์‚ฌ๋ถ„๋ฉด ๊ธฐ์ค€์œผ๋กœ ์ขŒํ‘œ๊ณ„๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๊ฒŒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ด๋ฏธ์ง€ ์ถœ์ฒ˜: https://developer.apple.com/library/archive/documentation/General/Conceptual/Devpedia-CocoaApp/CoordinateSystem.html

์ขŒํ‘œ๊ณ„๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ์›ํ•˜๋Š” ๋Œ€๋กœ ์›์ ์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋Š”์ง€๋Š” ๋ช…ํ™•ํ•˜์ง€๋Š” ์•Š์ง€๋งŒ ์™ ์ง€ ์ฐพ์•„๋ณด๋ฉด ์žˆ์„๊ฒƒ๊ฐ™์€...

profile
์Šคํƒฏ ์˜ฌ๋ฆฌ๋Š” ์ค‘

0๊ฐœ์˜ ๋Œ“๊ธ€