none
如何文字描邊 RRS feed

  • 問題

  • 我想要用Draw string將文字繪製成圖檔,然後要在文字的外框描上一個邊,請問有什麼樣的方法可以將文字再描上一個邊呢?
    2007年2月6日 下午 02:08

解答

  •  

    HI  飛天豬:

     

    程式碼區塊

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Text;
    using System.Windows.Forms;
    using System.Drawing.Drawing2D;


    namespace WindowsApplication1
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }

            private void Form1_Paint(object sender, PaintEventArgs e)
            {
               
                
                // Create a GraphicsPath object.
                GraphicsPath myPath = new GraphicsPath();
                            
                    // Set up all the string parameters.
                    string stringText = "飛天豬";
                    FontFamily family = this.Font.FontFamily;
                    int fontStyle = (int)FontStyle.Bold;
                    int emSize = 60;
                    Point origin = new Point(10, 10);
                    StringFormat format = StringFormat.GenericDefault;
                            
                    // Add the string to the path.
                    myPath.AddString(stringText,
                        family,
                        fontStyle,
                        emSize,
                        origin,
                        format);
                            
                    //Draw the path to the screen.
                    e.Graphics.DrawPath(new Pen(Color.Red,2), myPath);

     

                    myPath.Dispose();

            }
        }
    }

     

     

     

     

    執行結果:

    2007年11月1日 上午 06:16

所有回覆

  • HI,

    您可以先輸出一個較大的字(使用描邊的色彩), 再疊上一個較小的字, 就可以形成描邊的效果

    tihs

    2007年2月8日 上午 06:18
  • 這本裡面有...

    http://www.kingsinfo.com.tw/item_detail.asp?pro_id=504

    還有漸層字的原始碼~

    2007年2月8日 上午 06:49
  • 你可以大概的說明一下嗎?因為我找好久都找不到這本書,它是有什麼特別的函式可以直接引用嗎?

    我現在的作法是將文字各往上下左右一個點描繪,這樣是大概可以做出來描邊,只是有些字型出來的邊會有霧化(柔邊)的感覺(如標楷體),但有些字型的邊就很清淅(新細明體),請問為什麼會這樣?

    2007年3月27日 下午 04:06
  •  

    HI  飛天豬:

     

    程式碼區塊

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Text;
    using System.Windows.Forms;
    using System.Drawing.Drawing2D;


    namespace WindowsApplication1
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }

            private void Form1_Paint(object sender, PaintEventArgs e)
            {
               
                
                // Create a GraphicsPath object.
                GraphicsPath myPath = new GraphicsPath();
                            
                    // Set up all the string parameters.
                    string stringText = "飛天豬";
                    FontFamily family = this.Font.FontFamily;
                    int fontStyle = (int)FontStyle.Bold;
                    int emSize = 60;
                    Point origin = new Point(10, 10);
                    StringFormat format = StringFormat.GenericDefault;
                            
                    // Add the string to the path.
                    myPath.AddString(stringText,
                        family,
                        fontStyle,
                        emSize,
                        origin,
                        format);
                            
                    //Draw the path to the screen.
                    e.Graphics.DrawPath(new Pen(Color.Red,2), myPath);

     

                    myPath.Dispose();

            }
        }
    }

     

     

     

     

    執行結果:

    2007年11月1日 上午 06:16
  • 下面這個也不錯.
    蔡學鏞所寫的...如何做出發光文字的效果
    http://blog.udn.com/JerryTsai/674006
    2007年11月1日 上午 09:26