Graphic 完成文字缩放

思路:将文字生成图片,再加载此图片伸缩至需要大小。

首先要获取文字的实际大小。宽度高度,再通过图片缩放就OK了

 public static void DrawText()
        {
            Font f = new Font("Aris", 15, FontStyle.Italic | FontStyle.Strikeout);
            string s = "我的测试";

            Bitmap b = new Bitmap(1, 1);
            Graphics g = Graphics.FromImage(b);
            var sf = g.MeasureString(s, f);

            Bitmap b1 = new Bitmap(Convert.ToInt32(sf.Width), Convert.ToInt32(sf.Height));
            
            Graphics g1 = Graphics.FromImage(b1);
            g1.Clear(Color.White);
            
            RectangleF rf = new RectangleF(0, 0, sf.Width, sf.Height);
            g1.DrawString(s, f, Brushes.Red, rf);

            System.IO.MemoryStream ms = new System.IO.MemoryStream();

            b1.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
            

            Graphics g2 = Graphics.FromImage(bmap);
            g2.TranslateTransform(10, 10);
            g2.RotateTransform(30);
            g2.TranslateTransform(-10, -10);
            g2.DrawImage(Image.FromStream(ms), new Rectangle(10, 10, 200, 200));
            g2.ResetTransform();
            bmap.Save(AppDomain.CurrentDomain.BaseDirectory + "123.jpg");
            ms.Dispose();
        }

 

转载于:https://www.cnblogs.com/shikyoh/p/3572714.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值