• 用GDI+输出立体字


    如果需要在窗体程序中输出立体字,那么有什么好的思路吗?

    在.NET 2.0的GDI+中,我们可以用DrawString输出一个字符串。但要实现立体效果,好像大多只能用下面的代码

            /// <summary>
            /// 输出立体字
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            private void btRender_Click(object sender, EventArgs e)
            {
                Graphics graphics = panel1.CreateGraphics();
                Font font = new Font("宋体", 60);
    
                Random rnd=new Random();
    
                for (float y = 100; y < 105; y+=0.5f)
                {
                    for (float x = 10; x < 15; x+=0.5f) {
                        Color color = Color.FromKnownColor((KnownColor)rnd.Next(147));
                        graphics.DrawString(
                            textBox1.Text, 
                            font, 
                            new SolidBrush(color), 
                            new PointF(x,y)); 
                    }
                }
            }

    以上代码是在x轴和y轴分别每次以0.5的增量,反复地绘制同一个字符串,这样就看起来是一个立体的字了。呵呵

    image image image

    注意,作为演示目的,同时也为了增加趣味性,我每次画的时候都随机选一个颜色。很显然,最后的结果可能很漂亮,也可能很难看

    在WPF中貌似做这样的事情,会有一些新思路。有机会再看看,不作为重点关注

    http://blog.csdn.net/johnsuna/archive/2008/04/20/2309778.aspx

  • 相关阅读:
    源码分析— java读写锁ReentrantReadWriteLock
    7. SOFAJRaft源码分析—如何实现一个轻量级的对象池?
    深入理解Kafka必知必会(2)
    6. SOFAJRaft源码分析— 透过RheaKV看线性一致性读
    5. SOFAJRaft源码分析— RheaKV中如何存放数据?
    深入理解Kafka必知必会(1)
    4. SOFAJRaft源码分析— RheaKV初始化做了什么?
    3. SOFAJRaft源码分析— 是如何进行选举的?
    2. SOFAJRaft源码分析—JRaft的定时任务调度器是怎么做的?
    pinpoint1.8.5安装及使用指南
  • 原文地址:https://www.cnblogs.com/chenxizhang/p/1290303.html
Copyright © 2020-2023  润新知