[MFC] ๊ทธ๋ฆผํ(mspaint) ๋ง๋ค๊ธฐ ํ๋ก์ ํธ #1
๊ทธ๋ฆผํ(mspaint) ํ๋ก๊ทธ๋จ์ ๋ง๋ ๋ค?
ํน์ ๊ทธ๋ฆผํ ํ๋ก๊ทธ๋จ์ ๋ง๋ค์ด ๋ณธ ๊ฒฝํ์ด ์์ผ์ ๊ฐ์? ์ฃผ์ ๋ก ๋ดค์ ๋ ํ๊ต ๊ณผ์ ๊ฐ์ ๋ณด์ ๋๋ค. ์ค๋ฌด์์๋ ๊ทธ๋ฆผํ ํ๋ก๊ทธ๋จ์ ๋ง๋ค๋ผ๋ ์ ๋ฌด๋ ๊ฑฐ์ ์์ ๊ฑฐ๋ผ ์๊ฐ๋ฉ๋๋ค. ๊ทธ๋ฐ๋ฐ ํน์, ๊ทธ๋ฆผํ ํ๋ก๊ทธ๋จ์ ๋ง๋ค ์ ์์ผ์ ๊ฐ์?
์ฌ์ค ์ ๋ ๊ตณ์ด ๋ง๋ค ์๊ฐ์ ์ ํ์ต๋๋ค. ํ์ง๋ง ์ต๊ทผ ๊ทธ๋ฆผํ๊ณผ ์์ฃผ ๋น์ทํ ์ด๋ฏธ์ง ๋ทฐ์ด(image viewer) ๋ชจ๋์ ๊ฐ์ ํ๊ธฐ ์ํด ์ค๊ณ๋ฅผ ์๊ฐํ๋ค๊ฐ, '๊ทธ๋ฆผํ์ ๋ง๋ค์ด ๋ณผ๊น'๋ผ๋ ์๊ฐ์ด ๋ค์ด ๋ง๋ค๊ฒ ๋์ต๋๋ค. ๋ฐฉ๊ธ ์๊ธฐํ ์ด๋ฏธ์ง ๋ทฐ์ด๋ ์นด๋ฉ๋ผ์ ์ด๋ฏธ์ง ๋ฐ์ดํฐ๋ฅผ ๊ทธ๋ฆฌ๊ณ (drawing), ๊ทธ ์์ ๊ฐ์ข ๋ํ(Line, Rectangle, Circle, CrossLine ๋ฑ)์ ๋ง๊ทธ๋ฆด(overlay) ์ ์๋ ๋ชจ๋์ ์๋ฏธํฉ๋๋ค. ํ๋/์ถ์(zooming)์ ๋ง์ฐ์ค ํด๋ฆญ์ผ๋ก ์ด๋(moving)ํ ์ ์๋ ๊ธฐ๋ฅ๋ ์์ต๋๋ค. ๋๋ถ๋ถ์ ๋น์ ํ๋ก๊ทธ๋จ์๋ ํ์์ ์ธ ๋ชจ๋์ ๋๋ค. ๋ฌผ๋ก ์์ฉ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๊ตฌ๋งคํ๋ฉด ์ ๊ณต๋๊ธฐ๋ ํ์ง๋ง, ์ปค์คํฐ๋ง์ด์ง์ ์ํด ์ง์ ๊ฐ๋ฐํด์ ์ฌ์ฉํ๋ ํธ์ ๋๋ค.
์ด๋ฒ ๊ทธ๋ฆผํ ๋ง๋ค๊ธฐ ํ๋ก์ ํธ๋ฅผ ๋ฐ๋ผ ํ๋ค ๋ณด๋ฉด Modern C++ ๋ฌธ๋ฒ๊ณผ GDI+ ๊ทธ๋ฆฌ๊ณ MFC ์ฌ์ฉ ๋ฒ์ ๋ํด ๊ฐ๋ตํ๊ฒ๋ผ๋ ์ตํ ์ ์์ ๊ฒ์ ๋๋ค. (์ฌ์ค UI ํ๋ซํผ์ MFC๊ฐ ์๋๋๋ผ๋ C#์๋ ์ฝ๊ฒ ์ ์ฉํ ์ ์์ ๊ฑฐ๋ผ ์๊ฐํฉ๋๋ค.)
๊ทธ๋ฆผํ ํ๋ก์ ํธ ์ค๋ช
์ฐธ๊ณ ๋ก, ๊ทธ๋ฆผํ์ ๋ชจ๋ ๊ธฐ๋ฅ์ ๊ตฌํํ ํ๋ก์ ํธ๋ ์๋๋๋ค. ๋ค์๊ณผ ๊ฐ์ด ๊ธฐ๋ณธ์ ์ธ ๊ธฐ๋ฅ๋ง ๊ตฌํํ์ต๋๋ค.
- ํ์ผ๋ก๋ถํฐ ๊ทธ๋ฆผ ๋ถ๋ฌ์ ๊ทธ๋ฆฌ๊ธฐ
- ์ง์ , ์ฌ๊ฐํ ๋ํ ๋ง๊ทธ๋ฆฌ๊ธฐ
- ์ ํ ์์ญ ์ง์ ํ์ฌ ์๋ผ์ ์ด๋ํ๊ธฐ
- ํธ์ง๋ ์ต์ข ์ด๋ฏธ์ง ์ ์ฅํ๊ธฐ
๋ํ์ ์ธ๊ณฝ์ ์์, ๋ด๋ถ ์์ญ ์ฑ์ฐ๊ธฐ ์์, ์ ์คํ์ผ, ๋๊ป, ๋ํ์ ์ข ๋ฅ ๋ฑ์ ๊ธฐ๋ฅ์ ์ ๊ณตํ์ง ์์ต๋๋ค. ์ฌ์ค ์ด๋ ค์ด ๋ถ๋ถ์ด๋ผ๊ธฐ ๋ณด๋ค๋ ๊ท์ฐฎ์ ๋ถ๋ถ์ด์ฃ (ํนํ UI ์ถ๊ฐ๊ฐ ๊ท์ฐฎ์ ๋ถ๋ถ์ ๋๋ค). ์ค๋ฌด ํ๋ก์ ํธ๋ผ๋ฉด ๊ผผ๊ผผํ๊ฒ ์ ๊ฒฝ์ฐ๊ฒ ์ง๋ง, ํ ์คํธ ํ๋ก์ ํธ๋ผ ์ ๊ธฐ๋ณธ ๋์๋ง ์ค๋ช ํฉ๋๋ค.
๊ทธ๋ฆผํ ํ๋ก๊ทธ๋จ ๋์ ๋ถ์
๊ทธ๋ผ, ํ๋ก์ ํธ ๊ฐ๋ฐ์ ์์ ๊ทธ๋ฆผํ ํ๋ก๊ทธ๋จ์ ๋์์ ๋ถ์ํด ๋ณด๊ฒ ์ต๋๋ค.
์ ๊ทธ๋ฆผ์ Windows์์ ์ ๊ณตํ๋ ๊ธฐ๋ณธ ํ๋ก๊ทธ๋จ์ธ ๊ทธ๋ฆผํ(mspaint)์ ๋๋ค. ์๋์ฐ๋ฅผ ์ฌ์ฉํ๋ฉด์ ๊ทธ๋ฆผํ์ ์ฌ์ฉํด๋ณด์ง ์์ ์ฌ๋์ ์์ ์ ๋๋ก, ์์ฃผ ๊ธฐ๋ณธ์ ์ผ๋ก ์ฌ์ฉ๋๋ ํ๋ก๊ทธ๋จ์ ๋๋ค. ๊ทธ๋ฐ๋ฐ ๊ทธ๋ฆผํ์ ๋์์ ๋ถ์ํด๋ณธ ์ ์ ์์ ๊ฒ์ ๋๋ค. ํ ๋ฒ ์ดํด๋ณผ๊น์?
์บ๋ฒ์ค(Canvas) - ํ์ผ์ ๋ถ๋ฌ์ค๊ฑฐ๋ ๋ฐฐ๊ฒฝ์์ ์น ํ๊ธฐ
์์ฃผ ๊ธฐ๋ณธ์ด ๋๋ ๋ฐฐ๊ฒฝ(Canvas)์ด ์กด์ฌํฉ๋๋ค. ์ด ๋ฐฐ๊ฒฝ์๋ ํ์ผ์ ๋ถ๋ฌ์ ๊ทธ๋ฆผ์ ๊ทธ๋ฆด ์ ์๊ณ , ์ํ๋ ์์์ ์น ํ ์ ์์ต๋๋ค.
๋ํ(Figure) ๊ทธ๋ฆฌ๊ธฐ
์บ๋ฒ์ค์ ๋ํ์ ์ ํํ๊ณ ๊ทธ๋ฆด ์ ์์ต๋๋ค. ์ , ์ฌ๊ฐํ, ์ํ ๋ฑ ๋ค์ํ๊ฒ ์ง์๋๊ณ ์์์ด๋ ๋๊ป๋ ์ ํํ ์ ์์ต๋๋ค.
๋ํ์ ํ ๋ฒ Drag & Drop์ผ๋ก ๊ทธ๋ฆฌ๊ณ ๋๋ฉด, ๊ฐ ๋ํ์ ์ ์ Hit Point๊ฐ ํ์ฑํ๋์ด ํฌ๊ธฐ ์กฐ์ ๋๋ ์ด๋์ด ๊ฐ๋ฅํด์ง๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ํ ์ธ์ ์์ญ์ ํด๋ฆญํ๋ฉด Hit Point๊ฐ ์ฌ๋ผ์ง๊ณ ๋์ด์ ํธ์ง์ด ๋ถ๊ฐ๋ฅํด ์ง๋๋ค. ์๋ ์ ๋๋ฉ์ด์ ์ ์ฐธ๊ณ ํ์ธ์.
ํน์ ์์ญ ์ ํํ๊ธฐ(Cropping)
๋ ๋ค๋ฅธ ๊ธฐ๋ฅ์ผ๋ก๋ ํน์ ์์ญ ์ ํํ๊ธฐ๊ฐ ์์ต๋๋ค. ์์ญ ์ง์ ํ ์ด๋ํ๋ ๊ฒ์ด ๊ฐ๋ฅํฉ๋๋ค. ๋ง์ฐฌ๊ฐ์ง๋ก ๋น ๊ณณ์ ํด๋ฆญํ๋ฉด ์์ญ ์ง์ ์ด ์๋ฃ๋ฉ๋๋ค.
์ด ์ธ์๋ ์บ๋ฒ์ค ํฌ๊ธฐ ์กฐ์ ํ๊ธฐ, ์ด๋ฏธ์ง ํ์ , ์ด๋ฏธ์ง ๋ฐ์ , ๋ํ ํฌ๊ธฐ ๋๋ฆฌ๊ธฐ ๋ฑ์ ๊ธฐ๋ฅ์ด ๋ ์์ง๋ง, ์์ ์ค๋ช ํ๋ฏ์ด ๊ธฐ๋ฅ์ด ๋๋ฌด ๋ง๊ธฐ ๋๋ฌธ์ ํต์ฌ์ ์ธ ๋ถ๋ถ๋ง ๊ตฌํํ๊ธฐ๋ก ํฉ๋๋ค.
๊ทธ๋ฆผํ ๋์ ๋ถ์์ ์ฌ๊ธฐ๊น์งํ๊ณ , ๋ค์ ํฌ์คํ ์์๋ ๊ทธ๋ฆผํ ํ๋ก์ ํธ๋ฅผ ์ด๋ป๊ฒ ์ค๊ณํ๋์ง ์์๋ณด๊ฒ ์ต๋๋ค.
'Programming > MFC' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋๊ธ
์ด ๊ธ ๊ณต์ ํ๊ธฐ
-
๊ตฌ๋
ํ๊ธฐ
๊ตฌ๋ ํ๊ธฐ
-
์นด์นด์คํก
์นด์นด์คํก
-
๋ผ์ธ
๋ผ์ธ
-
ํธ์ํฐ
ํธ์ํฐ
-
Facebook
Facebook
-
์นด์นด์ค์คํ ๋ฆฌ
์นด์นด์ค์คํ ๋ฆฌ
-
๋ฐด๋
๋ฐด๋
-
๋ค์ด๋ฒ ๋ธ๋ก๊ทธ
๋ค์ด๋ฒ ๋ธ๋ก๊ทธ
-
Pocket
Pocket
-
Evernote
Evernote
๋ค๋ฅธ ๊ธ
-
[MFC] ๊ทธ๋ฆผํ(mspaint) ๋ง๋ค๊ธฐ ํ๋ก์ ํธ #3
[MFC] ๊ทธ๋ฆผํ(mspaint) ๋ง๋ค๊ธฐ ํ๋ก์ ํธ #3
2021.01.08 -
[MFC] ๊ทธ๋ฆผํ(mspaint) ๋ง๋ค๊ธฐ ํ๋ก์ ํธ #2
[MFC] ๊ทธ๋ฆผํ(mspaint) ๋ง๋ค๊ธฐ ํ๋ก์ ํธ #2
2021.01.04 -
[MFC] MFC์์ XLNT๋ฅผ ์ด์ฉํ ์์ (Excel)ํ์ผ ์ฝ๊ณ ์ฐ๊ธฐ (์์ ํฌํจ)
[MFC] MFC์์ XLNT๋ฅผ ์ด์ฉํ ์์ (Excel)ํ์ผ ์ฝ๊ณ ์ฐ๊ธฐ (์์ ํฌํจ)
2020.05.31 -
[MFC] CFormView ๊ธฐ๋ฐ Dynamic Layout ์ ์ฉํ์ฌ ์ปจํธ๋กค Resizingํ๊ธฐ(์์ ํฌํจ)
[MFC] CFormView ๊ธฐ๋ฐ Dynamic Layout ์ ์ฉํ์ฌ ์ปจํธ๋กค Resizingํ๊ธฐ(์์ ํฌํจ)
2020.05.19