GDI์ ๋น๊ตํด๋ GDI+(System.Drawing)๋ ๋์ฐํ๊ฒ ๋๋ฆฝ๋๋ค.
GPU ๊ฐ์ ์์ด CPU ์์๋ง์ ์ฐ๊ธฐ ๋๋ฌธ์ด์ฃ
GDI+๋ ๊ณ ์์ค API๋ฅผ ์ ๊ณตํ์ง๋ง ๋งค์ฐ ๋๋ฆฝ๋๋ค.
MS๋ ๋์ฒด ๋ฌด์จ ์๊ฐ์ผ๋ก GDI+๋ฅผ ๋ง๋ ๊ฑธ๊น์?
์์ฆ ์ปดํจํฐ ์ฌ์์ผ๋ก ํ๋ฉด ๋๋ก์ํ๋ ๊ณผ์ ์ด ๋์ ๋ณด์ด๋ฉด ์ฐธ ์ํ๊น์์
C# GDI Wrapper Class ์๋ ์ฐพ์๋ณด๋ค๊ฐ ์์ด์ ์ข ์ค๋งโฆ
์์ํ๊ฑฐ๋ 2d2lib, SharpDX ์จ์ผ ๋ ๋ฏโฆ
GDI+๋ฅผ ์์ฆ์ (2022๋
) ๋ด๋จ๋ค๋ฉด โ์ ๋ง ๋ฌด์จ ์๊ฐ์ผ๋ก ๋ง๋ ๊ฑฐ์ง?โ ์๊ฒ ์ง๋ง, ์์๋ค์ํผ GDI+๋ ๋์จ์ง ์์ฒญ ์ค๋๋ ๋ ๊ฑฐ์ ๊ธฐ์ ์
๋๋ค.
์ํคํผ๋์ ์ธ๊ธ์ผ๋ก ๋ณด๋ฉด Windows XP๊ฐ ์ถ์๋๋ 2001๋ ํ๋ฐ์ ๊ณต์ํ๋์๊ณ , ์ ๊ธฐ์ต์ผ๋ก๋ ๊ทธ ๋ฌด๋ ต์ GDI+ ์ด์ผ๊ธฐ๋ฅผ ๋ค์ ์ ์์๋ ๊ฒ ๊ฐ์ผ๋ ์ด๋๋ง ์ถ์๋์ง 20๋ ์ด ๋์ ๊ธฐ์ ์ด๋ค์. ใ ใ
Windows Forms ์ญ์ ๊ทธ ๋น์ Windows ์ด์ ์ฒด์ ์ ๋ง์ถ์ด Visual Basic 6.0์ด๋ MFC ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ง์ถ์ด ๋ท๋ท์ผ๋ก ๋น์ทํ ์ ํ์ GUI๋ฅผ ๊ฐ๋ฐํ๋ ค๋ ๋์ฆ์ ๋ถํฉํด์ ๋ง๋ค์ด์ง ํ๋ ์์ํฌ์์์ฃ . (์ค์ ๋ก VB6๋ก GUI๋ฅผ ๊ฐ๋ฐํ๋ ๋ถ๋ค์๊ฒ๋ ์น์ํ ๋ชจ๋ธ์ด๊ธด ํฉ๋๋ค.)
์ ๋ GDI+์ API ์ฝ์ 100% ๋ง์ถ์ด์ ํธํ์ฑ์ ๋ณด์ฅํ๋ 3D ๊ฐ์์ด ๋๋ 2D ๊ทธ๋ํฝ ํ๋ ์์ํฌโฆ๋ฅผ Microsoft์์ ๋ง๋ค์ด์ค๋ค๋ฉด ์ข๊ฒ ๋ค๊ณ ์๊ฐํฉ๋๋ค. ๊ทธ๋ ์ง๋ง MS ๋ํ ๊ท๋ชจ์ ์ฐจ์ด๊ฐ ์์ ๋ฟ ๊ทธ๋ค๋ ์ฐ์ ์์๋ฅผ ์ ํด์ ๊ธฐ์ ์ ๊ฐ๋ฐํ๋ ๋งํผ GDI+์ 3D ๊ฐ์์ ์ ํ๋ ๋ฆฌ๋ ธ๋ฒ ์ด์ ์ ๋จํํ๊ธฐ ์ด๋ ต์ง ์์๊น? ํ๋ ์๊ฐ์ด ๋ญ๋๋ค.
20๋
์ ์ GDI+ ์ผ๋ค๊ฐ ๋๋ ค์ ์ฟ๋จน์ ๊ธฐ์ต์ด ๋ฉ๋๋ค.
์ง๊ธ์ ๋์์ด ๋ง๊ธฐ ๋๋ฌธ์ ๊ตณ์ด ์ธ ํ์๊ฐ ์์ด์ง ๊ฒ ๊ฐ์์
VB6, ์ํผ๊ณผ ํจ๊ป ๋ฒ๋ ค์ง ๊ฒ์ด์ฃ โฆ ์๋ํฐ๋โฆ
15๋
์ ๋์ผ์ฝ์ด CPU์์ WinForms๋ก๋ ์ถฉ๋ถํ ๋ฏธ๋ คํ๊ณ ์๋ต์ฑ ์ข์ ์์ฉ ํ๋ก๊ทธ๋จ์ ๊ฐ๋ฐํ ์ ์์์ต๋๋ค.
๋๋ก์ ๊ณผ์ ์ด ๋์ ๋ณด์ผ ์ ๋๋ฉด ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ ๋ชป ์ฌ์ฉํ๊ณ ์๋ ๊ฒ ์๋๊น์?
์ ์ ์ปจํธ๋กค๋ก ์ฌ๋ฌ view๋ค์ ๋ง๋ค์ด์ visible ์์ฑ์ผ๋ก ํ๋ฉด ์ ํํ๊ฑฐ๋ ํญ์ปจํธ๋กค๋ก ํ๋ฉด ์ ํํ๋ ํ๋ก๊ทธ๋จ ์์ฑํ์๋ ํ๋ฉด์ ์ฌ๋ฌ ui ์ปจํธ๋กค๋ค์ด ์๋ ๊ฒฝ์ฐ ๋๋ธ๋ฒํผ๋ง ์์ฑ์ ์ค๋ ๊ทธ๋ฆฌ๋ ๊ณผ์ ์ด ์ด์ง ๋์ ๋ณด์
๋๋ค.
์ด๋ฐ๊ฑด ๋๊ฒ ์์ฝ๋๋ผ๊ตฌ์. ๋น์ทํ ui ๋ฅผ WPF ๋ก ์ ์ฑํ๋ฉด ๊ทธ๋ฐ ํ์์ด ์ ํ ๋ฐ์์ํฉ๋๋ค. ์์ฆ ์ ํํ๋ ํค์ค์คํฌ ๊ฐ์ ํ๋ก๊ทธ๋จ์ ์ง ๋ค๋ฉด ๋ฌด์กฐ๊ฑด WPF ๋ก ํด์ผํ๊ฒ ๋๋ผ๊ตฌ์.
๋ช ๊ฐ์ง ์ง์ ๊ฒ์ด ์์ด์ ๋ต๊ธ๋๋ฆฝ๋๋ค.
Windows Forms๋ .NET 6 ๊ธฐ์ค ํ์ฌ ์คํ ์์ค ํ๋ก์ ํธ๋ก ๋ณ๊ฒฝ๋์ด ๊พธ์คํ ๊ฐ๋ฐ๊ณผ ์ ๋ฐ์ดํธ๊ฐ ์ด๋ฃจ์ด์ง๊ณ ์์ด์, "๋ฒ๋ ค์ก๋ค"๋ ํํ์ ์ฌ์ค์ด ์๋๋ผ๊ณ ์๊ฐํ์ฌ ์ถ๊ฐ ์๊ฒฌ ๋๋ฆฝ๋๋ค. (์ฐธ๊ณ : https://github.com/dotnet/winforms)
๊ทธ๋ฆฌ๊ณ ๊ธฐ์ ์ ๋ฐ์ ์ด ๋๋๊ณ ๋ต๋ตํ ๊ฒ์ ์์ฌ์ด ์ ์ด ์์ง๋ง, ํฌ๋ผ์ ์ฐพ์์ฃผ์๋ ๋ชจ๋ ๋ถ๋ค์๊ฒ ๊ฑด์ค์ ์ธ ์ ๋ณด๋ฅผ ์ ๋ฌํ ์ ์๋๋ก ์ ๊ทน์ ์ธ ๋ ธ๋ ฅ์ ๋ถํ๋๋ฆฝ๋๋ค. Microsoft์ ์ ํ ์ ์ฑ ์ ๋ํด ์์ฌ์ด ์ ์ ๋ชจ๋๋ค ์กฐ๊ธ์ฉ ๊ฐ์ง๊ณ ๊ณ์ค ์ ์์ง๋ง, ๊ณต๊ฒฉ์ ์ธ ํผ๋๋ฐฑ์ ๊ฑด์ค์ ์ธ ๋ ผ์๊ฐ ์๋ ์๋ชจ์ ์ธ ๋ ผ์์ ์ด๋ฐ์ํค๋ ๋จ์ด๊ฐ ๋ ์ ์์ต๋๋ค.
๊ณ ๋ง์ต๋๋ค.
Winform์ ๋ฒ๋ ค์ง์ง ์์์ด์!
๊ทธ๋ฆฌ๊ณ ๊ฐ์ธ์ ์ผ๋ก ํ 7~8๋
์ ์ฏค์ ์งํํ๋ ํ๋ก์ ํธ์์
GDI+๋ก ์ค์๊ฐ ๊ทธ๋ํ ํํ ์ปจํธ๋กค์ ์ ์ํ๋ ์ ์ด ์๋๋ฐ,
์ ~ํ ๋ฒ๋ฒ
์ ์์ด ์ ์๋๋์์ต๋๋ค.
์ฌ์ง์ด ์ง๊ธ๊ณผ ๋น๊ตํ๋ฉด PC์ฌ์์ด ๋ง์ด ๋ฎ์๋๋ฐ๋ ๋ง์ด์ฃ โฆ
Paint๊ด๋ จ ์ด๋ฒคํธ ์ฒ๋ฆฌ์ ๊ฐ์ฒด์ ์์ฑ/์๋ฉธ์ ์ด๋ป๊ฒ ํ๋๋์ ๋ฐ๋ผ ๊ฒฐ๊ณผ๊ฐ ํฌ๊ฒ ๋ฌ๋ผ์ก์๋ ๊ธฐ์ต์ด ๋๋ค์.
์ง๊ธ์ด์ผ Windows10, Windows11์ด ๋์์ ์๋ ๋ฐฉ์์ด๋ผ ์น๋ถ๋ ์๊ฐ ์์ง๋ง
๊ทธ๋ ๋น์ ๊ทธ๊ฑธ๋ก ๋จน๊ณ ์ฌ๋ ์ฌ๋๋ ๋ง์๋ค๋๊ฑธ ๊ฐ์ํ๋ฉด, ๊ฒฐ๋ก ์ ๊ทธ ๊ธฐ์ ์ ์ฌ์ฉํ๋ ์ฌ๋์ ์๋ จ๋๊ฐ ์๋๊น ์ถ์ต๋๋คโฆ
๋จผ์ ํํด์ ์๋๊ตฌ์.
4K ํ๊ฒฝ์์๋ ๋๋ฆด์๋ ์๊ฒ ๊ตฌ๋๋ผ๋ ์๊ฐ์ด ๋ค์ด์ ๋๊ธ๋ต๋๋ค.
ํ
์คํธ๋ ์ํด๋ดค์ต๋๋ค.
Winform์ด ๋ฒ๋ ค์ก๋ ์๋๋
๋๋์ ์์์ ๊ณ ์ฌ ๋๊ฒ ์ง ํ๋ฉฐ ๋ฐฉ์นํ ๋๋์ ์ง์ธ์๋ ์๊ตฐ์โฆ
์โฆ
@zzxxrrr @windowmini
ํ
์คํธ๋ ์ํด๋ดค์ง๋ง ~~ํ ์๋ ์๊ฒ ๋ค
ํน์, ์ด๋ค์ด๋ค ๋๋์ด ๋ ๋คโฆ
๋ผ๋ ๊ฒ์ ์ฃ์กํ์ง๋ง ๊ทผ๊ฑฐ์๋ ๋ฉํธ ๊ฐ์ต๋๋ค.
ํ
์คํธ๋ ์ํด๋ดค์ง๋ง ๊ทธ๋ฅ ๋๋ฆด ์ ์์ ๊ฒ ๊ฐ๊ณ โฆ ์ํผ์ด ๊ณ ์ฌ๋๊ฒ ์งโฆํ๋ ๋๋์ด ๋๋๋ฐ ํ์ ์ ์๊ณ โฆ
์ํผ์ด ๊ณ ์ฌ๋ ์ปค๋
, ์ ๋ฐ ์ข ๊ทธ๋๋ก ๋ฐฉ์นํด์ ๋๋์ผ๋ฉด ์ข๊ฒ ๊ณ ๊ทธ๋ง ์ข ๋ฐ์ ํ์ผ๋ฉด ์ข๊ฒ ๋ค๊ณ ๋งค์ผ ์๊ฐํ๋ ์ฌ๋์
๋๋ค.
์ ์ด๋ .NET 6, 7, 8 ๊ทธ๋ฆฌ๊ณ C# ๋ฒ์ ์์ฒด์ ๋ณํ ํ๋ฆ์ ๋ค ์ดํดํ์ ๋ค๋ฉด ๋ชจ๋ฅด๊ฒ ์ง๋ง
๊ทธ๊ฒ ์๋๋ผ๋ฉด ๊ณ ์ฌ, ๋ฐฉ์น๋ผ๋ ํํ์ ๋ท๋ท, ์ ์ด๋ ์ํผ์ ๊ฑฐ์ ๋ชจ๋ฅด์๋ ๊ฒ ๊ฐ๋ค๋ ๋๋์ ์ง์ธ ์๊ฐ ์๋ค์โฆ
์ ๋ 10๋ ์ ํด์ค๊ณ ์์ด๋ ๊ทธ ๋ฐ์ ์๋๋ฅผ ๋ฐ๋ผ๊ฐ๊ธฐ๊ฐ ๋๋ฌด ๋ฒ๊ฒ๊ฑฐ๋ ์.