ÅؽºÆ®¸¦ Ãâ·ÂÇÏ´Â ¸Þ¼µå´Â DrawStringÀÌ´Ù. ÃÑ ¿©¼¸ °³ÀÇ ¿À¹ö·Îµå°¡ ÀÖ´Ù.
public void DrawString (string s,Font font,Brush
brush, float x,float y [,StringFormat format])
public void DrawString (string s,Font font,Brush
brush,PointF point [,StringFormat format])
public void DrawString (string s,Font font,Brush
brush, RectangleF layoutRectangle [,StringFormat format])
¾ÕÂÊ ¼¼ °³ÀÇ Àμö´Â ¸ðµÎ µ¿ÀÏÇÏ´Ù. s´Â Ãâ·ÂÇÒ ¹®ÀÚ¿À̸ç font´Â Ãâ·Â¿¡ »ç¿ëÇÒ ±Û²ÃÀÌ°í brush´Â ¹®ÀÚ¿ÀÇ »ö»óÀ» °áÁ¤ÇÏ´Â
ºê·¯½ÃÀÌ´Ù. DrawStringÀº Draw·Î ½ÃÀÛÇÏÁö¸¸ ȹÀÌ
±½¾îÁö¸é ¸éÀûÀÌ »ý±â±â ¶§¹®¿¡ ¿¹¿ÜÀûÀ¸·Î ÆæÀÌ ¾Æ´Ñ ºê·¯½Ã¸¦ Àü´Þ¹Þ´Â´Ù. ¹®ÀÚ¿Àº À¯´ÏÄÚµå·Î Àü´ÞÇϸé
µÇ°í ÆùÆ®´Â Á÷Á¢ ¸¸µé¾î ¾µ ¼öµµ ÀÖ´Ù. ÆûÀÇ ±âº» ÆùÆ®·Î Ãâ·ÂÇÏ·Á¸é
this.Font ÇÁ·ÎÆÛƼ¸¦ ³Ñ±ä´Ù.
³ª¸ÓÁö Àμö´Â ¹®ÀÚ¿À» Ãâ·ÂÇÒ ÁÂÇ¥¸¦ ÁöÁ¤ÇÑ´Ù. (x, y) ÇüÅ·Î
ÁÂÇ¥°ªÀ» Á÷Á¢ ¹Þ´Â °Í°ú PointF¸¦ ¹Þ´Â °ÍÀº Ç¥Çö ¹æ¹ý¸¸ ´Ù¸¦ »Ó µ¿ÀÛÀº °°´Ù. ÁÂÇ¥´Â ½Ç¼ö ŸÀÔÀÌÁö¸¸ Á¤¼öµµ Àü´ÞÇÒ ¼ö ÀÖ´Ù. »ç°¢¿µ¿ªÀ» ¹Þ´Â
¸Þ¼µå´Â ¿µ¿ª ¾È¿¡ ÅؽºÆ®¸¦ ¿©·¯ ÁٷΠä¿ö ³Ö´Â´Ù. ¸¶Áö¸· Àμö
formatÀº ¹®ÀÚ¿ Ãâ·Â ¿É¼ÇÀ» ÁöÁ¤ÇÑ´Ù.
DrawString |
using
System; ~ using System.Windows.Forms; namespace
DrawString { public
partial class Form1 : Form { public
Form1() { InitializeComponent(); } private
void Form1_Paint(object sender, PaintEventArgs e) { e.Graphics.DrawString("ÇÑ
ÁÙÂ¥¸® ¹®ÀÚ¿À̸ç DrawStringÀ¸·Î Ãâ·ÂÇß½À´Ï´Ù.", Font,
Brushes.Black, 10, 10); Rectangle
R = new Rectangle(10, 50, 100, 100); string
str = "û»êÀº ³ª¸¦ º¸°í ¸»¾øÀÌ »ì¶ó ÇÏ°í. â°øÀº ³ª¸¦ º¸°í Ƽ¾øÀÌ
»ì¶ó Çϳ×"; e.Graphics.DrawRectangle(Pens.Blue,
R); e.Graphics.DrawString(str,
Font, Brushes.Red, R); } } } |
(10, 10) ÁÂÇ¥¿¡ ÇÑ ÁÙ·Î µÈ ¹®ÀÚ¿À» °ËÁ¤»öÀ¸·Î Ãâ·ÂÇÏ°í (10, 50)¿¡¼ ½ÃÀÛÇÏ´Â Æø, ³ôÀÌ °¢°¢ 100ÀÇ »ç°¢¿µ¿ª¿¡ ¿©·¯ ÁÙ·Î µÈ ±ä ¹®ÀÚ¿À» »¡°£»öÀ¸·Î Ãâ·ÂÇÑ´Ù. ¹®ÀÚ¿ÀÌ
»ç°¢¿µ¿ª ¾È¿¡ ÀÚµ¿ °³ÇàµÈ´Ù.
DrawStringÀº Win32ÀÇ TextOut°ú DrawTextÀÇ ±â´ÉÀ» °âÇÑ ÅëÇÕ ¸Þ¼µåÀÌ´Ù.
DrawString ¸Þ¼µå´Â ¸¶Áö¸· Àμö·Î ¹®ÀÚ¿ Ãâ·Â ¹æ½ÄÀ» ÁöÁ¤ÇÏ´Â StringFormat °´Ã¼¸¦ ¹Þ´Â´Ù. ÀÌ °´Ã¼ÀÇ ÇÁ·ÎÆÛƼ°¡ ÁöÁ¤Çϴ´ë·Î
¹®ÀÚ¿À» Ãâ·ÂÇÏ¸ç »ý·«ÇÏ¸é °¡Àå ¹«³ÇÑ ¿É¼ÇÀ» Àû¿ëÇÑ´Ù.
ÇÁ·ÎÆÛƼ |
ŸÀÔ |
¼³¸í |
Alignment |
StringAlignment |
ÅؽºÆ®ÀÇ ¼öÆò Á¤·Ä ¹æ½ÄÀ» ÁöÁ¤ÇÑ´Ù. Near, Center, Far Áß Çϳª¸¦
¼±ÅÃÇÑ´Ù. µðÆúÆ®´Â ÁöÁ¤ÇÑ ÁÂÇ¥¿¡¼ ¹®ÀÚ¿À» ½ÃÀÛÇÏ´Â NearÀÌ´Ù. |
LineAlignment |
StringAlignment |
ÅؽºÆ®ÀÇ ¼öÁ÷ Á¤·Ä ¹æ½ÄÀ» ÁöÁ¤ÇÑ´Ù. |
FormatFlags |
StringFormatFlags |
¿©·¯ °¡Áö Ãâ·Â ¿É¼ÇÀ» ÁöÁ¤ÇÏ´Â ºñÆ® Ç÷¡±×ÀÇ ÁýÇÕÀÌ´Ù. |
GenericDefault |
StringFormat ¨Þ¨ß |
°¡Àå ¹«³ÇÑ StringFormat °´Ã¼¸¦ »ý¼ºÇÑ´Ù. |
HotkeyPrefix |
HotkeyPrefix |
¹®ÀÚ¿ ³»ÀÇ & ¹®ÀÚ¸¦ ¾î¶»°Ô Çؼ®ÇÒ °ÍÀΰ¡¸¦ ÁöÁ¤ÇÑ´Ù. &´Â ÇÖÅ°¸¦ ÁöÁ¤ÇÒ ¶§ »ç¿ëÇÏ´Â ¹®ÀÚÀ̸ç & µÚÀÇ
¹®ÀÚ¿¡ ¹ØÁÙÀÌ ±×¾îÁö´Âµ¥ ÀÌ µ¿ÀÛÀ» Á¦¾îÇÒ ¼ö ÀÖ´Ù. Show´Â ÇÖÅ°¸¦ º¸À̸ç Hide´Â ÇÖÅ°¸¦ ¼û±â°í NoneÀº &¹®ÀÚ¸¦ ÀÖ´Â ±×´ë·Î Ç¥½ÃÇÑ´Ù. ÀÌ ÇÁ·ÎÆÛƼÀÇ ¿°Å°ªÀº System.Drawing.Text ³×ÀÓ½ºÆäÀ̽º¿¡ Á¤ÀǵǾî ÀÖ´Ù. |
Trimming |
StringTrimming |
¹®ÀÚ¿ÀÌ »ç°¢¿µ¿ªÀ» ¹þ¾î³¯ ¶§ÀÇ Ã³¸®¸¦ ÁöÁ¤ÇÑ´Ù. ¹®ÀÚ³ª ´Ü¾î ´ÜÀ§·Î ÀÚ¸¦
¼ö ÀÖ°í »ý·« Ç¥½ÃÀÎ ...À» ºÙÀÏ ¼öµµ ÀÖ´Ù. |
FormatFlag ÇÁ·ÎÆÛƼ´Â ´ÙÀ½ ºñÆ®ÀÇ Á¶ÇÕÀ¸·Î Ãâ·Â Çü½ÄÀ» ÁöÁ¤ÇÑ´Ù. ÁÖ·Î »ç°¢¿µ¿ª¿¡ ¹®ÀÚ¿À» Ãâ·ÂÇÒ ¶§ Ŭ¸®ÇÎ ¹æ½ÄÀ» ÁöÁ¤ÇÑ´Ù.
Ç÷¡±× |
¼³¸í |
DirectionRightToLeft |
¿À¸¥ÂÊ¿¡¼ ¿ÞÂÊÀ¸·Î Ç¥½ÃÇÑ´Ù. |
DirectionVertical |
¼¼·Î·Î Ãâ·ÂÇÑ´Ù. |
DisplayFormatControl |
Á¦¾î¹®ÀÚ¸¦ Ãâ·ÂÇÑ´Ù. |
FitBlackBox |
ÀϺΠ¹®ÀÚ°¡ Ãâ·Â ¿µ¿ª¿¡ °ÉÄ¥ ¼ö ÀÖ´Ù. |
LineLimit |
ÁÙÀÇ ÀϺθ¸ º¸ÀÌÁö ¾Êµµ·Ï ÇÏ¸ç ¿ÏÀüÈ÷ º¸ÀÌ´Â ÁÙ¸¸ Ãâ·ÂÇÑ´Ù. |
MeasureTrailingSpaces |
°¢ ÁÙÀÇ ³¡¿¡ ÈÄÇà °ø¹éÀ» Æ÷ÇÔÇÑ´Ù. |
NoClip |
Ãâ·Â ¿µ¿ªÀ» ¹þ¾î³ ¹®ÀÚ¿µµ ÀÚ¸£Áö ¾Ê´Â´Ù. |
NoFontFallback |
ÆùÆ®¿¡ ¾ø´Â ¹®ÀÚ¸¦ ´ëü ¹®ÀÚ·Î ¹Ù²ÙÁö ¾Ê´Â´Ù. |
NoWrap |
»ç°¢ ¿µ¿ª¿¡ Ãâ·ÂÇÒ ¶§ ÁٹٲÞÀ» ÇÏÁö ¾Ê´Â´Ù. |
StringFormatTest |
using
System; ~ using System.Windows.Forms; using
System.Drawing.Text; namespace
StringFormatTest { public
partial class Form1 : Form { public
Form1() { InitializeComponent(); } private
void Form1_Paint(object sender, PaintEventArgs e) { StringFormat
F = new StringFormat(); //
Á¤·Ä Å×½ºÆ® F.Alignment
= StringAlignment.Near; e.Graphics.DrawString("¿ÞÂÊ
Á¤·Ä", Font, Brushes.Black, 100, 10, F); F.Alignment
= StringAlignment.Center; e.Graphics.DrawString("Áß¾Ó
Á¤·Ä", Font, Brushes.Black, 100, 30, F); F.Alignment
= StringAlignment.Far; e.Graphics.DrawString("¿À¸¥ÂÊ
Á¤·Ä", Font, Brushes.Black, 100, 50, F); //
ÇÖÅ° Å×½ºÆ® F.Alignment
= StringAlignment.Near; F.HotkeyPrefix
= HotkeyPrefix.Hide; e.Graphics.DrawString("&Hotkey",
Font, Brushes.Black, 10, 100, F); F.HotkeyPrefix
= HotkeyPrefix.Show; e.Graphics.DrawString("&Hotkey",
Font, Brushes.Black, 10, 120, F); F.HotkeyPrefix
= HotkeyPrefix.None; e.Graphics.DrawString("&Hotkey",
Font, Brushes.Black, 10, 140, F); //
Ç÷¡±× Å×½ºÆ® F.FormatFlags
|= StringFormatFlags.DirectionVertical; e.Graphics.DrawString("¿ì¸®³ª¶ó", Font, Brushes.Black, 150, 100, F); } } } |
StringFormat °´Ã¼ F¸¦
»ý¼ºÇÏ°í ÇÁ·ÎÆÛƼ¸¦ ´Ù¾çÇÏ°Ô º¯°æÇØ °¡¸ç ¹®ÀÚ¿À» Ãâ·ÂÇß´Ù.
¶È°°ÀÌ ¼öÆò ÁÂÇ¥ 100¿¡ Ãâ·ÂÇßÁö¸¸ Alignment ÇÁ·ÎÆÛƼ¿¡ µû¶ó Ãâ·Â À§Ä¡°¡ ´Ù¸£´Ù. µðÆúÆ®ÀÎ ¿ÞÂÊ
Á¤·ÄÀº 100ÀÌ ¹®ÀÚ¿ÀÇ ¿ÞÂÊÀÌ µÇÁö¸¸ Áß¾ÓÀ̳ª ¿À¸¥ÂÊÀ¸·Î º¯°æÇϸé
100 ÁÂÇ¥°¡ Áß¾ÓÀ̳ª ¿À¸¥ÂÊÀÌ µÈ´Ù. Alignment ÇÁ·ÎÆÛƼÀÇ ¿°Å°ª À̸§ÀÌ ¿ÞÂÊ, Áß¾Ó, ¿À¸¥ÂÊÀ¸·Î µÇ¾î ÀÖÁö ¾Ê°í
Near, Center, Far·Î µÇ¾î ÀÖ´Â ÀÌÀ¯´Â ¿ì¿¡¼ Á·Π¾²°Å³ª ¼¼·Î·Î ¾²´Â °ÍÀÌ °¡´ÉÇϱ⠶§¹®ÀÌ´Ù.
"&Hotkey"´Â &¹®ÀÚ¸¦ ó¸®ÇÏ´Â ¹æ½Ä¿¡ µû¶ó °á°ú°¡ ´Þ¶óÁø´Ù. ÇÖÅ°¸¦ ¼û±â¸é &°¡ È¿·ÂÀÌ ¾ø¾îÁö¸ç ÇÖÅ°¸¦ º¸À̸é & ´ÙÀ½ ¹®ÀÚ¿¡
¹ØÁÙÀÌ ±×¾îÁø´Ù. ÄÁÆ®·ÑÀÇ Á¦¸ñÀ» Ç¥½ÃÇÒ ¶§´Â ÇÖÅ°¸¦ Ãâ·ÂÇÏ´Â °ÍÀÌ ÁÁ´Ù. NoneÀº & ¹®ÀÚ¸¦ ÀÖ´Â ±×´ë·Î Ãâ·ÂÇÑ´Ù. DirectionVertical Ç÷¡±×¸¦ ¾²¸é ÇѱÛÀ» ¼¼·Î ¾²±âÇÒ ¼ö ÀÖ´Ù.
ÆùÆ®´Â ¹®ÀÚ¿ÀÇ ¸ð¾çÀ» Á¤ÀÇÇÏ´Â ±×·¡ÇÈ ¿ÀºêÁ§Æ®À̸ç Font Ŭ·¡½º·Î
Ç¥ÇöÇÑ´Ù. DrawString ¸Þ¼µå´Â ±Û²ÃÀ» Á¤ÀÇÇÏ´Â Font °´Ã¼¸¦
Àμö·Î Àü´Þ¹Þ´Âµ¥ Åë»ó ÆûÀÇ Font ÇÁ·ÎÆÛƼ¸¦ Àü´ÞÇÏ¿© µðÆúÆ® ÆùÆ®¸¦ »ç¿ëÇÑ´Ù. ´Ù¸¥ ¸ð¾çÀÇ ±Û²ÃÀ» »ç¿ëÇÏ·Á¸é º°µµÀÇ Font °´Ã¼¸¦ »ý¼ºÇÏ¿© Àü´ÞÇÑ´Ù. FontÀÇ »ý¼ºÀÚ´Â ´ÙÀ½°ú °°´Ù.
public Font (string familyName,float emSize[
,FontStyle style])
public Font (Font prototype,FontStyle newStyle)
public Font (FontFamily family,float emSize [,
GraphicsUnit unit])
±Û²ÃÀÇ À̸§°ú Å©±â¸¸À¸·Î ÆùÆ®¸¦ »ý¼ºÇϴ ù ¹ø° »ý¼ºÀÚ°¡ °£ÆíÇÏ°í ½Ç¿ëÀûÀÌ´Ù.
Å©±â´Â ±âº»ÀûÀ¸·Î Æ÷ÀÎÆ® ´ÜÀ§·Î ÁöÁ¤Çϴµ¥ GraphicsUnitÀ» ÁöÁ¤Çϸé Çȼ¿À̳ª ÀÎÄ¡, ¹Ð¸®¹ÌÅÍ ´ÜÀ§·Îµµ ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù. FontStyleÀº Bold, Italic, Regular, Strikeout, Underline µî ±ÛÀÚÀÇ ¸ð¾ç¿¡ ´ëÇÑ ¿É¼ÇÀ» | ¿¬»êÀÚ·Î Á¶ÇÕÇÏ¿© ÁöÁ¤ÇÑ´Ù. µÎ ¹ø° »ý¼ºÀÚ´Â ±âÁ¸ ÆùÆ®¿¡ ½ºÅ¸Àϸ¸
º¯°æÇÏ¿© »õ·Î¿î ÆùÆ®¸¦ ¸¸µç´Ù.
ÆùÆ® Æйи®´Â ºñ½ÁÇÑ Æ¯¼ºÀ» °¡Áö´Â ÆùÆ®ÀÇ ±×·ìÀÌ´Ù. "¹ÙÅÁ", "±Ã¼", "Times New
Roman", "Arial" °°Àº ÆùÆ® À̸§ÀÌ´Ù. ÆùÆ® Æйи®¿¡
Å©±â¿Í ½ºÅ¸ÀÏÀÌ ´õÇØÁö¸é ½ÇÁ¦ Ãâ·Â¿¡ »ç¿ëÇÏ´Â ÆùÆ® ¿ÀºêÁ§Æ®°¡ µÈ´Ù. FontFamily Ŭ·¡½ºÀÇ Name ÇÁ·ÎÆÛƼ·Î ÆùÆ®ÀÇ À̸§À» ÁöÁ¤ÇÑ´Ù. ´ÙÀ½ ¿¹Á¦´Â ¼¼ °¡Áö
»ý¼ºÀÚ·Î ÆùÆ®¸¦ »ý¼ºÇÑ´Ù.
FontTest |
using
System; ~ using System.Windows.Forms; namespace
FontTest { public
partial class Form1 : Form { public
Form1() { InitializeComponent(); } private
void Form1_Paint(object sender, PaintEventArgs e) { Font
F1 = new Font("±Ã¼", 20); e.Graphics.DrawString("´ëÇѹα¹", F1, Brushes.Black, 10, 10); Font
F2 = new Font("±Ã¼", 20, FontStyle.Italic |
FontStyle.Underline); e.Graphics.DrawString("´ëÇѹα¹", F2, Brushes.Black, 10, 40); FontFamily
Fm = new FontFamily("±Ã¼"); Font
F3 = new Font(Fm, 20); e.Graphics.DrawString("´ëÇѹα¹", F3, Brushes.Black, 10, 70); } } } |
ù ¹ø° ÁÙÀº 20Æ÷ÀÎÆ® Å©±âÀÇ ±Ã¼Ã¼·Î ÆùÆ®¸¦ »ý¼ºÇÏ°í µÎ ¹ø°
ÁÙÀº ¹ØÁÙ°ú ÀÌÅŸ¯ ½ºÅ¸ÀÏÀ» Ãß°¡ÇÑ °ÍÀÌ´Ù. ¼¼ ¹ø° ÁÙÀº ±Ã¼Ã¼ÀÇ ÆùÆ® Æйи®¸¦ ¸ÕÀú Á¤ÀÇÇÏ°í 20Æ÷ÀÎÆ®ÀÇ Å©±â¸¦ ÁöÁ¤ÇÏ¿© ÆùÆ® °´Ã¼¸¦ »ý¼ºÇߴµ¥ °á°úÀûÀ¸·Î ù ¹ø° ÆùÆ®¿Í °°´Ù.
ÀÌ Á¤µµ¸¸ Çصµ ¿øÇÏ´Â ÆùÆ®¸¦ ÀÚÀ¯ÀÚÀç·Î ¸¸µé ¼ö ÀÖ´Ù. ´å³ÝÀÇ ÆùÆ®
»ý¼ºÀÚ´Â ²À ÇÊ¿äÇÑ Á¤º¸¸¸ ÁöÁ¤ÇÑ´Ù´Â Á¡¿¡¼ »ç¿ë ÆíÀǼºÀº ¾çÈ£ÇÏÁö¸¸ ´ëü ÆùÆ®¸¦ ã´Â ¾Ë°í¸®ÁòÀº ºÎÁ¤È®ÇÏ´Ù. ÆùÆ®´Â
Ãß°¡ ¹× Á¦°Å °¡´ÉÇÑ ´ë»óÀε¥ ÁöÁ¤ÇÑ ÆùÆ®°¡ Á¤»óÀûÀ¸·Î ¼³Ä¡µÇ¾î ÀÖ´Ù¸é ¹®Á¦¾øÁö¸¸ ±×·¸Áö ¾ÊÀ» °æ¿ì´Â ¹®Á¦°¡ ½É°¢ÇØÁø´Ù.
À̶§´Â ´ëü ÆùÆ®¸¦ ã´Âµ¥ Win32´Â ±Û²ÃÀÌ ¹ß°ßµÇÁö ¾ÊÀ» °æ¿ì¸¦
´ëºñÇØ ÇÇÄ¡ Ư¼º, ¹®ÀÚ¼Â, Æйи®, Á¤È®µµ µîÀ» ÁöÁ¤ÇÏ¿© ÃÖ´ëÇÑ ºñ½ÁÇÑ ÆùÆ®¸¦ »ý¼ºÇÏ´Â ÆùÆ® ¸ÊÇÎ ¾Ë°í¸®ÁòÀÌ Á¤±³ÇÏ°Ô ÀÛ¼ºµÇ¾î ÀÖ´Ù. ÀÌ¿¡ ºñÇØ ´å³ÝÀº ÆùÆ®ÀÇ À̸§¹Û¿¡ ÁöÁ¤ÇÏÁö ¾Ê¾Æ ¾î¶² ÆùÆ®°¡ ¼±ÅõÉÁö ¿¹ÃøÇϱ⠾î·Æ´Ù.
FontFamily Ŭ·¡½ºÀÇ
Families Á¤Àû ÇÁ·ÎÆÛƼ´Â ½Ã½ºÅÛ¿¡ ¼³Ä¡µÈ ¸ðµç ÆùÆ® Æйи®ÀÇ ¹è¿À» Á¶»çÇÑ´Ù. ÆùÆ®
¿°Å¶ó°í ÇÏ´Â ±â´ÉÀε¥ ÆùÆ®ÀÇ ¸ñ·ÏÀ» º¸¿©ÁÖ°í »ç¿ëÀÚ°¡ ÆùÆ®¸¦ °í¸£µµ·Ï ÇÒ ¶§ ÇÊ¿äÇÏ´Ù.
EnumFont |
using
System; ~ using System.Windows.Forms; namespace
EnumFont { public
partial class Form1 : Form { public
Form1() { InitializeComponent(); SetStyle(ControlStyles.ResizeRedraw,
true); } private
void Form1_Paint(object sender, PaintEventArgs e) { FontFamily[]
Fms = FontFamily.Families; int
x = 10, y = 10; foreach
(FontFamily Fm in Fms) { try
{ Font
F = new Font(Fm, 15); e.Graphics.DrawString(Fm.Name,
F, Brushes.Black, x, y); y
+= 20; if
(y > ClientSize.Height - 20) { x
+= 200; y
= 10; } } catch
{ } } } } } |
¿°ÅµÈ ¸ðµç ÆùÆ®¿¡ ´ëÇØ 15Æ÷ÀÎÆ®·Î »ý¼ºÇÏ°í À̸§À» Ãâ·ÂÇÑ´Ù. Çà°£À» 20À¸·Î ÇÏ°í ¿°£À»
200À¸·Î ÇÏ¿© µÇµµ·Ï ¸¹Àº ÆùÆ®¸¦ Ãâ·ÂÇß´Ù. Regular ½ºÅ¸ÀÏÀ» Áö¿øÇÏÁö ¾Ê´Â Ư¼öÇÑ
ÆùÆ®°¡ ÀÖ¾î Ãâ·Â¹®À» try, catch ¿¹¿Ü ó¸® ±¸¹®À¸·Î °¨½Õ´Ù.
½ÇÇà °á°ú´Â ½Ã½ºÅÛ¿¡ ¾î¶² ÆùÆ®°¡ ¼³Ä¡µÇ¾î Àִ°¡¿¡ µû¶ó ´Þ¶óÁö´Âµ¥ °Å´ëÇÑ Ãâ·Â °á°ú°¡ ³ªÅ¸³´Ù.
¿°ÅµÈ ±Û²ÃÀ» ÄÞº¸ ¹Ú½º³ª ¸®½ºÆ® ¹Ú½º¿¡ Áý¾î ³ÖÀ¸¸é »ç¿ëÀÚ°¡ ±Û²ÃÀ» ¼±ÅÃÇÏ´Â ¿ëµµ·Î »ç¿ëÇÒ ¼ö ÀÖ´Ù. ¿öµåÇÁ·Î¼¼¼´Â ÀÌ·± ¹æ¹ýÀ¸·Î ÆùÆ® ¼±Åà ÄÞº¸ ¹Ú½º¸¦ ¸¸µç´Ù.
Á¡ ´ÜÀ§·Î ±×·¡ÇÈÀ» Ãâ·ÂÇÏ´Â µðÁöÅÐ ÀåºñÀÇ Æ¯¼º»ó Èò ¹ÙÅÁ¿¡ °ËÁ¤»öÀ¸·Î Ãâ·ÂÇÏ¸é °è´Ü Çö»óÀÌ »ý±ä´Ù. ¹è°æ»ö°ú ±×¸²ÀÇ »ö»óÂ÷°¡ Ŭ¼ö·Ï ´õ Àß º¸ÀδÙ. ÅؽºÆ®¸¦ Ãâ·ÂÇÒ
¶§µµ ¸¶Âù°¡Áö Çö»óÀÌ »ý±â´Âµ¥ °î¼±À¸·Î µÈ ±ÛÀÚÀÇ È¹ÀÌ °¢Á® º¸ÀδÙ. Çػ󵵰¡ ³·Àº Àåºñ¿¡¼ ´õ ¶Ñ·ÇÇÏ°Ô
º¸¿© ´«¿¡ °Å½½¸®¸ç °¡µ¶¼ºµµ ¶³¾îÁø´Ù.
ÀÌ·± ¾î»öÇÔÀ» ¹æÁöÇÏ´Â ±â¼úÀ» ¾ÈƼ ¾Ë¸®¾Æ½Ì(Anti Aliasing)À̶ó°í
ÇÑ´Ù. ¹æ¹ýÀº ¾ÆÁÖ °£´ÜÇѵ¥ »ö»óÂ÷°¡ Å« °æ°è ºÎ±Ù¿¡ Áß°£ »ö»óÀ» Àû´çÈ÷ »ðÀÔÇÏ¿© °è´ÜÀÌ Àß ¾È º¸À̵µ·Ï
ÇÑ´Ù. Èò ¹ÙÅÁ¿¡ °ËÁ¤»ö ¹®ÀÚ¿À» Ãâ·ÂÇÒ ¶§ ±ÛÀÚ¿Í ¹è°æ »çÀÌ¿¡ ȸ»öÁ¡À» ³¢¿ö ³ÖÀ¸¸é ȹÀÇ °æ°è¿¡ ÀÖ´Â
°è´ÜÀÌ Àß º¸ÀÌÁö ¾Ê°í ºÎµå·¯¿ö º¸ÀδÙ.
ÅؽºÆ®ÀÇ ¾ÈƼ ¾Ë¸®¾Æ½Ì ¸ðµå´Â Graphics °´Ã¼ÀÇ TextRenderingHint ÇÁ·ÎÆÛƼ·Î ÁöÁ¤ÇÑ´Ù. GDI+´Â »óÅ°¡
¾ø´Â ¶óÀ̺귯¸®ÀÌÁö¸¸ Àü¿ªÀûÀÎ ÀϺΠ¸î °¡Áö ¼³Á¤¿¡ ´ëÇؼ´Â Graphics °´Ã¼¿¡¼ Á÷Á¢ °ü¸®ÇÑ´Ù. ÀÌ ÇÁ·ÎÆÛƼ·Î ±Û²ÃÀÇ °¡ÀåÀÚ¸®¸¦ ´Ùµë´Â ±â¼ú Áß Çϳª¸¦ ¼±ÅÃÇÑ´Ù.
¿°Å°ª |
¼³¸í |
AntiAlias |
¾ÈƼ¾Ë¸®¾Æ½ÌµÈ ºñÆ®¸ÊÀ¸·Î Ãâ·ÂÇÑ´Ù. ÈùÆ® Á¤º¸¸¦ ¾²Áö ¾Ê±â ¶§¹®¿¡ ¼¼·Î ȹÀÇ
±½±â Â÷ÀÌ°¡ ¹ß»ýÇÒ ¼ö ÀÖ´Ù. |
AntiAliasGridFit |
ÈùÆ® Á¤º¸¸¦ »ç¿ëÇÑ´Ù. |
ClearTypeGridFit |
ClearType ºñÆ®¸ÊÀ» »ç¿ëÇÏ¿© ±×¸°´Ù.
ÃÖ°í Ç°Áú·Î Ãâ·ÂµÈ´Ù. ƯÈ÷ LCD¿¡¼ Ç°ÁúÀÌ
Çâ»óµÈ´Ù. |
SingleBitPerPixel |
¹®ÀÚ ¸ð¾ç ºñÆ®¸ÊÀ» »ç¿ëÇϸç ÈùÆ® Á¤º¸´Â »ç¿ëÇÏÁö ¾Ê´Â´Ù. |
SingleBitPerPixelGridFit |
¹®ÀÚ ¸ð¾ç ºñÆ®¸ÊÀ» »ç¿ëÇϸç ÈùÆ® Á¤º¸¸¦ »ç¿ëÇÑ´Ù. |
SystemDefault |
½Ã½ºÅÛ¿¡ ¼³Á¤µÈ ·£´õ¸µ ¹æ¹ýÀ» »ç¿ëÇÑ´Ù. |
°¢ ±â¼úÀº ¾ÈƼ ¾Ë¸®¾Æ½ÌÀ» ÇÏ´Â ¾Ë°í¸®ÁòÀÌ ´Ù¸¥µ¥ Ç°Áú°ú ¼Óµµ´Â ¹Ýºñ·Ê °ü°èÀÌ´Ù. º¸±âÁÁ°Ô Ãâ·ÂÇÏ·Á¸é º¹ÀâÇÑ ¿¬»êÀ» ¸¹ÀÌ ÇØ¾ß ÇϹǷΠ¼Óµµ´Â ´À·ÁÁú ¼ö¹Û¿¡ ¾ø´Ù. ´ÙÀ½ ¿¹Á¦´Â °¢ ¾ÈƼ ¾Ë¸®¾Æ½Ì ±â¼úÀ» Àû¿ëÇÏ¿© ¹®ÀÚ¿À» Ãâ·ÂÇÑ´Ù.
AntiAlias |
using
System; ~ using System.Windows.Forms; using
System.Drawing.Text; namespace
AntiAlias { public
partial class Form1 : Form { public
Form1() { InitializeComponent(); } private
void Form1_Paint(object sender, PaintEventArgs e) { Font
F1 = new Font("±Ã¼", 20); e.Graphics.TextRenderingHint
= TextRenderingHint.SystemDefault; e.Graphics.DrawString("´ëÇѹα¹", F1, Brushes.Black, 10, 10); e.Graphics.TextRenderingHint
= TextRenderingHint.AntiAlias; e.Graphics.DrawString("´ëÇѹα¹", F1, Brushes.Black, 10, 40); e.Graphics.TextRenderingHint
= TextRenderingHint.AntiAliasGridFit; e.Graphics.DrawString("´ëÇѹα¹", F1, Brushes.Black, 10, 70); e.Graphics.TextRenderingHint
= TextRenderingHint.ClearTypeGridFit; e.Graphics.DrawString("´ëÇѹα¹", F1, Brushes.Black, 10, 100); e.Graphics.TextRenderingHint
= TextRenderingHint.SingleBitPerPixel; e.Graphics.DrawString("´ëÇѹα¹", F1, Brushes.Black, 10, 130); e.Graphics.TextRenderingHint
= TextRenderingHint.SingleBitPerPixelGridFit; e.Graphics.DrawString("´ëÇѹα¹", F1, Brushes.Black, 10, 160); } } } |
¶È°°Àº ´ëÇѹα¹ÀÌÁö¸¸ ÀÚ¼¼È÷ °üÂûÇØ º¸¸é ±ÛÀÚ¿Í ¹è°æ »çÀÌÀÇ °æ°è ºÎ±Ù¿¡ ´ëÇÑ Ã³¸® ¹æ½ÄÀÌ Á¶±Ý¾¿ ´Ù¸£´Ù. ¸Ç´«À¸·Î º¸¸é Àß º¸ÀÌÁö ¾ÊÀ¸¸ç µ¸º¸±â °°Àº ȸé È®´ë À¯Æ¿¸®Æ¼·Î º¸¸é Àß º¸ÀδÙ.
¼¼ ¹ø° ÁÙÀº °è´Ü Çö»óÀÌ ³Ê¹« ¶Ç·ÇÇØ ´«¿¡ ½ÉÇÏ°Ô °Å½½¸°´Ù. ù
¹ø° ÁÙ°ú µÎ ¹ø° ÁÙÀº ȸ»ö Á¡ÀÌ »ðÀԵǾî ÈξÀ ºÎµå·´´Ù. ÀÎÀ§ÀûÀ¸·Î È®´ëÇÑ ±×¸²À̶ó ȸ»öÁ¡ÀÌ ¿ÀÈ÷·Á
´«¿¡ °Å½½·Á º¸À̱⵵ ÇÏÁö¸¸ °¡Àç´«À» ¶ß°í ÃÊÁ¡À» È帮°Ô ÇØ º¸¸é ¸¶Ä¡ ȼ±Áö¿¡ º×À¸·Î ¾´ µí ±ò²ûÇØ º¸ÀδÙ.
µÎ ¹æ½Äµµ ÀÚ¼¼È÷ ºñ±³ÇØ º¸¸é Á¡ÀÇ ¹èÄ¡°¡ Á¶±Ý ´Ù¸£´Ù. ¾ÈƼ ¾Ë¸®¾Æ½ÌÀº
´Ù¼Ò °³ÀÎÀûÀÎ ÃëÇâÀÇ ¼º°ÝÀÌ Â£¾î ¾î¶² ¾Ë°í¸®ÁòÀÌ ¿ùµîÈ÷ ¿ì¼öÇÏ´Ù°í ¸»Çϱâ´Â °ï¶õÇÏ´Ù. ³ª´Â ½®¼¼´ë¶ó
±×·±Áö ¾Æ´Ï¸é ´«ÀÌ ³ëÈĵȰÇÁö ¾ÈƼ ¾Ë¸®¾Æ½ÌÀ» ÇÏÁö ¾ÊÀº °ÍÀÌ ÀÚ¿¬½º·¯¿ö º¸ÀδÙ.