首页 ┆ 网站地图 ┆ 在线留言 ┆ 游戏资讯 ┆ 资源下载 ┆ 端午节祝福 ┆ 迅雷在线影视 ┆淘宝手机在线充值 ┆淘宝游戏点卡充值 
设为首页
加入收藏
联系我们
高级搜索
您当前的位置: 主页>NET专区>C#语言>如何使用C#制作公司的公章的实例代码
如何使用C#制作公司的公章的实例代码
来源: 发布时间:2008-08-22 发布人: 浏览: 人次   字体: [ ]  

         /// <summary>

        /// Generate seal bitmap

        /// </summary>

        /// <returns></returns>

        public Bitmap TextOnPathBitmap()

        {

            // Create bitmap and graphics

            Bitmap bit = new Bitmap( _rect.Width, _rect.Height );

            Graphics g = Graphics.FromImage( bit );

             // Compute string length in graphics

            float[] fCharWidth = new float[_text.Length];

            float fTotalWidth = ComputeStringLength( _text, g, fCharWidth, _letterspace, _chardirect );

             // Compute arc's start-angle and end-angle

            double fStartAngle, fSweepAngle;

            fSweepAngle = fTotalWidth * 360 / ( _rectcircle.Width * Math.PI );

            fStartAngle = 270 - fSweepAngle / 2;

             // Compute every character's position and angle

            PointF[] pntChars = new PointF[ _text.Length ];

            double[] fCharAngle = new double[ _text.Length ];

            ComputeCharPos( fCharWidth, pntChars, fCharAngle, fStartAngle );

             g.SmoothingMode = SmoothingMode.HighQuality;

            g.CompositingQuality = CompositingQuality.HighQuality;

            g.TextRenderingHint = System.Drawing.Text.TextRenderingHint.AntiAlias;

             DrawSealBase( g );

             // Draw every character

            for( int i = 0; i < _text.Length; i++ )

             DrawRotatedText( g, _text[i].ToString(), (float)(fCharAngle[i] + _degree), pntChars[i] );

             g.Dispose();

             // Return bitmap

            return bit;

        }

         /// <summary>

        /// Draw seal base

        /// </summary>

        /// <param name="g"></param>

        private void DrawSealBase( Graphics g )

        {

            // Draw background

            g.FillRectangle( Brushes.Black, _rect );

            g.FillEllipse( new SolidBrush( _fillcolor ),

                new Rectangle( 1,1, _rect.Width - 2, _rect.Height - 2 ) );

            g.FillEllipse( Brushes.White,

                new Rectangle( 4, 4, _rect.Width - 8, _rect.Height - 8 ) );

             // Draw start signal

            StringFormat sf = new StringFormat();

            string strStar = "★";

            Font fnt = new Font( _font.FontFamily, _font.Size * 3 );

            sf.Alignment = StringAlignment.Center;

            sf.LineAlignment = StringAlignment.Center;

            SizeF siz = g.MeasureString( strStar, fnt );

            g.DrawString( strStar, fnt, new SolidBrush( _fillcolor ),

                new RectangleF( _rect.Width / 2 - siz.Width / 2,

                _rect.Height / 2 - siz.Height/ 2,

                siz.Width, siz.Height ), sf );

             // Draw base string

            float[] fCharWidth = new float[_basestring.Length];

            float fTotalWidths = ComputeStringLength( _basestring, g, fCharWidth, 0,

                Char_Direction.Center );

            float fLeftPos = ( _rect.Width - fTotalWidths ) / 2;

            PointF pt;

            for( int i = 0; i < _basestring.Length; i++ )

            {

                pt = new PointF( fLeftPos + fCharWidth[i] / 2,

                    _rect.Height / 2 + siz.Height / 2 + 10 );

                DrawRotatedText( g, _basestring[i].ToString(), 0, pt );

                fLeftPos += fCharWidth[i];

            }

        }


共8页: 上一页 [1] [2] [3] [4] [5] [6] 7 [8] 下一页
相 关 文 章   发布商链接
·NET编程实现在局域网之间互传文件的...
·C#开发中如何对SqlServer命名规范的...
·详解在c#语言中DateTime类的使用及其...
·小解c#中运行js代码实例
·探讨C#语言中??运算符的用法
·实例分析对比ref和out关键字的用法及...
·浅谈接口和抽象类的区别,加了自己的...
·什么是动态链接库?C#创建和调用DLL?
·C#如何调用C++写的动态链接库?
·C#语言基础之范型入门示例,附代码说...
 §最新评论:(评论内容只代表网友观点,与本站立场无关!)
网名: 验证码:  【所有评论】【↑返回顶部
评 分: 12 345
评论内容:(不能超过500字,请自觉遵守互联网相关政策法规。[按 Ctrl+Enter 可直接提交]
注意:请勿在本站发布政治话题、色情及违反法律的内容。
IT知道网 声明:刊登此文章是为了传递更多信息,文章内容仅供参考,转载请注明出处。
推 荐 文 章
·最为经典的C#操作文件的方法...
·有助快速理解C#委托和事件之...
·C#泛型学习笔记总结
·c#语言从dbf数据库提取数据并
·C#编写控制线程的运行和线程...
·怎样在C#中删除只读文件及其...
·C#函数中返回多个值的两种方...
·如何在C#中插入照片到Excel文
·如何在c#中获取事件注册的方...
·C#对timer类的使用操作代码
·什么是泛型?泛型的一些概述
·C#如何从文本文件读取信息并...
·如何在c#中去掉字符串中的回...
·如何使用C#获取IIS服务器版本...
·什么是泛型编程思想?及其简...
热 门 文 章
·C#如何获取文件路径中的文件...
·c#中收发邮件处理代码(POP3,...
·浅谈接口和抽象类的区别,加...
·什么是c#深拷贝与浅拷贝及其...
·C#语言实现创建、删除和移动...
·C#中关于四舍五入函数的讨论...
·c#中的ArrayList属性祥解及其...
·快速进行List排序的通用方法...
·C#对timer类的使用操作代码
·C#如何从文本文件读取信息并...
·C#语言实现从XML文件导出数据...
·用C#编写ActiveX控件代码实例
·如何在c#中去掉字符串中的回...
·String.Split 方法使用及其代...
·C#语言绘制实时曲线图代码实...
网站首页 - 关于本站 - 加入收藏 - 网站地图 - 友情连接 - 在线留言 - 联系我们 - 返回顶部
Copyright © 2007 IT知道网.[冀ICP备07026896号]. All Rights Reserved .