20-5.ÅؽºÆ® Ãâ·Â

20-5-1.DrawString

ÅؽºÆ®¸¦ Ãâ·ÂÇÏ´Â ¸Þ¼­µå´Â 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ÀÇ ±â´ÉÀ» °âÇÑ ÅëÇÕ ¸Þ¼­µåÀÌ´Ù.

20-5-2.StringFormat

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 Ç÷¡±×¸¦ ¾²¸é ÇѱÛÀ» ¼¼·Î ¾²±âÇÒ ¼ö ÀÖ´Ù.

20-5-3.ÆùÆ®

ÆùÆ®´Â ¹®ÀÚ¿­ÀÇ ¸ð¾çÀ» Á¤ÀÇÇÏ´Â ±×·¡ÇÈ ¿ÀºêÁ§Æ®À̸ç 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 ¿¹¿Ü ó¸® ±¸¹®À¸·Î °¨½Õ´Ù. ½ÇÇà °á°ú´Â ½Ã½ºÅÛ¿¡ ¾î¶² ÆùÆ®°¡ ¼³Ä¡µÇ¾î Àִ°¡¿¡ µû¶ó ´Þ¶óÁö´Âµ¥ °Å´ëÇÑ Ãâ·Â °á°ú°¡ ³ªÅ¸³­´Ù.

¿­°ÅµÈ ±Û²ÃÀ» ÄÞº¸ ¹Ú½º³ª ¸®½ºÆ® ¹Ú½º¿¡ Áý¾î ³ÖÀ¸¸é »ç¿ëÀÚ°¡ ±Û²ÃÀ» ¼±ÅÃÇÏ´Â ¿ëµµ·Î »ç¿ëÇÒ ¼ö ÀÖ´Ù. ¿öµåÇÁ·Î¼¼¼­´Â ÀÌ·± ¹æ¹ýÀ¸·Î ÆùÆ® ¼±Åà ÄÞº¸ ¹Ú½º¸¦ ¸¸µç´Ù.

20-5-4.¾ÈƼ ¾Ë¸®¾Æ½Ì

Á¡ ´ÜÀ§·Î ±×·¡ÇÈÀ» Ãâ·ÂÇÏ´Â µðÁöÅÐ ÀåºñÀÇ Æ¯¼º»ó Èò ¹ÙÅÁ¿¡ °ËÁ¤»öÀ¸·Î Ãâ·ÂÇÏ¸é °è´Ü Çö»óÀÌ »ý±ä´Ù. ¹è°æ»ö°ú ±×¸²ÀÇ »ö»óÂ÷°¡ Ŭ¼ö·Ï ´õ Àß º¸ÀδÙ. ÅؽºÆ®¸¦ Ãâ·ÂÇÒ ¶§µµ ¸¶Âù°¡Áö Çö»óÀÌ »ý±â´Âµ¥ °î¼±À¸·Î µÈ ±ÛÀÚÀÇ È¹ÀÌ °¢Á® º¸ÀδÙ. Çػ󵵰¡ ³·Àº Àåºñ¿¡¼­ ´õ ¶Ñ·ÇÇÏ°Ô º¸¿© ´«¿¡ °Å½½¸®¸ç °¡µ¶¼ºµµ ¶³¾îÁø´Ù.

ÀÌ·± ¾î»öÇÔÀ» ¹æÁöÇÏ´Â ±â¼úÀ» ¾ÈƼ ¾Ë¸®¾Æ½Ì(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);

                           }

             }

}

 

¶È°°Àº ´ëÇѹα¹ÀÌÁö¸¸ ÀÚ¼¼È÷ °üÂûÇØ º¸¸é ±ÛÀÚ¿Í ¹è°æ »çÀÌÀÇ °æ°è ºÎ±Ù¿¡ ´ëÇÑ Ã³¸® ¹æ½ÄÀÌ Á¶±Ý¾¿ ´Ù¸£´Ù. ¸Ç´«À¸·Î º¸¸é Àß º¸ÀÌÁö ¾ÊÀ¸¸ç µ¸º¸±â °°Àº È­¸é È®´ë À¯Æ¿¸®Æ¼·Î º¸¸é Àß º¸ÀδÙ.

 

¼¼ ¹ø° ÁÙÀº °è´Ü Çö»óÀÌ ³Ê¹« ¶Ç·ÇÇØ ´«¿¡ ½ÉÇÏ°Ô °Å½½¸°´Ù. ù ¹ø° ÁÙ°ú µÎ ¹ø° ÁÙÀº ȸ»ö Á¡ÀÌ »ðÀԵǾî ÈξÀ ºÎµå·´´Ù. ÀÎÀ§ÀûÀ¸·Î È®´ëÇÑ ±×¸²À̶ó ȸ»öÁ¡ÀÌ ¿ÀÈ÷·Á ´«¿¡ °Å½½·Á º¸À̱⵵ ÇÏÁö¸¸ °¡Àç´«À» ¶ß°í ÃÊÁ¡À» È帮°Ô ÇØ º¸¸é ¸¶Ä¡ È­¼±Áö¿¡ º×À¸·Î ¾´ µí ±ò²ûÇØ º¸ÀδÙ.

µÎ ¹æ½Äµµ ÀÚ¼¼È÷ ºñ±³ÇØ º¸¸é Á¡ÀÇ ¹èÄ¡°¡ Á¶±Ý ´Ù¸£´Ù. ¾ÈƼ ¾Ë¸®¾Æ½ÌÀº ´Ù¼Ò °³ÀÎÀûÀÎ ÃëÇâÀÇ ¼º°ÝÀÌ Â£¾î ¾î¶² ¾Ë°í¸®ÁòÀÌ ¿ùµîÈ÷ ¿ì¼öÇÏ´Ù°í ¸»Çϱâ´Â °ï¶õÇÏ´Ù. ³ª´Â ½®¼¼´ë¶ó ±×·±Áö ¾Æ´Ï¸é ´«ÀÌ ³ëÈĵȰÇÁö ¾ÈƼ ¾Ë¸®¾Æ½ÌÀ» ÇÏÁö ¾ÊÀº °ÍÀÌ ÀÚ¿¬½º·¯¿ö º¸ÀδÙ.