zoukankan      html  css  js  c++  java
  • 用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

  • 相关阅读:
    Hyperledger Fabric:最简单的方式测试你的链码
    ETCD:客户端v3
    ETCD:gRPC命名与发现
    ETCD:HTTP JSON API通过gRPC网关
    ETCD:TLS
    ETCD:基于角色的访问控制
    ETCD:多机上的集群
    ETCD:etcd网关
    ETCD:在容器中运行etcd集群
    ETCD:词汇表
  • 原文地址:https://www.cnblogs.com/chenxizhang/p/1290303.html
Copyright © 2011-2022 走看看