开启辅助访问
 找回密码
 注册帐号

扫一扫,访问微社区

开发者专栏

关注:2181

当前位置:游戏蛮牛 技术专区 开发者专栏

__________________________________________________________________________________
开发者干货区版块规则:

  1、文章必须是图文形式。(至少2幅图)
      2、文章字数必须保持在1500字节以上。(编辑器右下角有字数检查)
      3、本版块只支持在游戏蛮牛原创首发,不支持转载。
      4、本版块回复不得无意义,如:顶、呵呵、不错......【真的会扣分的哦】
      5、......
__________________________________________________________________________________
查看: 1599|回复: 22

[薛飞] C#指定图片添加文字(仅PC)

[复制链接]  [移动端链接]
排名
866
昨日变化
1

9

主题

151

帖子

2529

积分

Rank: 9Rank: 9Rank: 9

UID
686
好友
9
蛮牛币
3203
威望
0
注册时间
2013-7-4
在线时间
953 小时
最后登录
2018-4-26

专栏作家社区QQ达人

QQ
发表于 2017-9-28 10:15:36 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?注册帐号

x
本帖最后由 AWNUXCVBN 于 2017-9-28 10:18 编辑

[C#] 纯文本查看 复制代码
using System.Drawing;
using System.IO;
using UnityEngine;

public class TestImage : MonoBehaviour
{
    private string filePath;
    // Use this for initialization
    void Start()
    {
        filePath = @Application.streamingAssetsPath + "/test.jpg";
        AddTextToImg("卧槽啊!小贱!");
    }

    // Update is called once per frame
    void Update()
    {

    }

    /// <summary>
    /// 指定图片添加指定文字
    /// </summary> 
    /// <param name="text">添加的文字</param>
    /// <param name="picname">生成文件名</param>
    private void AddTextToImg(string text)
    {
        //判断指定图片是否存在
        if (!File.Exists(filePath))
        {
            throw new FileNotFoundException("The file don't exist!");
        }
        if (text == string.Empty)
        {
            return;
        } 
        Image image = Image.FromFile(filePath);
        Bitmap bitmap = new Bitmap(image, image.Width, image.Height);
        System.Drawing.Graphics g = System.Drawing.Graphics.FromImage(bitmap);
        //字体大小
        float fontSize = 40.0f;
        //文本的长度
        float textWidth = text.Length * fontSize;  
        //下面定义一个矩形区域,以后在这个矩形里画上白底黑字
        float rectX = 120;
        float rectY = 200;
        float rectWidth = text.Length * (fontSize + 40);
        float rectHeight = fontSize + 40;
        //声明矩形域
        RectangleF textArea = new RectangleF(rectX, rectY, rectWidth, rectHeight);
        //定义字体
        System.Drawing.Font font = new System.Drawing.Font("微软雅黑", fontSize, System.Drawing.FontStyle.Bold);
        //font.Bold = true;
        //白笔刷,画文字用
        Brush whiteBrush = new SolidBrush(System.Drawing.Color.DodgerBlue);   
        //黑笔刷,画背景用
        //Brush blackBrush = new SolidBrush(Color.Black);   
        //g.FillRectangle(blackBrush, rectX, rectY, rectWidth, rectHeight);
        g.DrawString(text, font, whiteBrush, textArea); 
        //输出方法一:将文件生成并保存到C盘
        string path = @Application.streamingAssetsPath + "/test2.jpg";
        bitmap.Save(path, System.Drawing.Imaging.ImageFormat.Jpeg); 
        g.Dispose();
        bitmap.Dispose();
        image.Dispose();
    }
}

20170926204317523.jpg 20170926204331892.gif
System.Drawing.dll
http://pan.baidu.com/s/1skOuTA1




回复

使用道具 举报

排名
5164
昨日变化
3

4

主题

76

帖子

444

积分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
1997
好友
2
蛮牛币
1434
威望
0
注册时间
2013-8-14
在线时间
64 小时
最后登录
2018-4-2

社区QQ达人

QQ
发表于 2017-9-28 10:28:26 | 显示全部楼层
哥屋嗯

回复

使用道具 举报

排名
866
昨日变化
1

9

主题

151

帖子

2529

积分

Rank: 9Rank: 9Rank: 9

UID
686
好友
9
蛮牛币
3203
威望
0
注册时间
2013-7-4
在线时间
953 小时
最后登录
2018-4-26

专栏作家社区QQ达人

QQ
 楼主| 发表于 2017-9-28 10:29:22 | 显示全部楼层

回复 支持 反对

使用道具 举报

5熟悉之中
714/1000
排名
2328
昨日变化
10

0

主题

20

帖子

714

积分

Rank: 5Rank: 5

UID
232166
好友
0
蛮牛币
1674
威望
0
注册时间
2017-7-14
在线时间
162 小时
最后登录
2018-4-27
发表于 2017-9-28 10:40:00 | 显示全部楼层
方法不错,但是输出后的图片噪点有点多哦

回复 支持 反对

使用道具 举报

排名
866
昨日变化
1

9

主题

151

帖子

2529

积分

Rank: 9Rank: 9Rank: 9

UID
686
好友
9
蛮牛币
3203
威望
0
注册时间
2013-7-4
在线时间
953 小时
最后登录
2018-4-26

专栏作家社区QQ达人

QQ
 楼主| 发表于 2017-9-28 10:51:39 | 显示全部楼层
leonadeyan 发表于 2017-9-28 10:40
方法不错,但是输出后的图片噪点有点多哦

嗯,这确实是个问题,有待继续研究

回复 支持 反对

使用道具 举报

7日久生情
1648/5000
排名
1373
昨日变化

23

主题

231

帖子

1648

积分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
82788
好友
9
蛮牛币
4906
威望
0
注册时间
2015-3-21
在线时间
576 小时
最后登录
2018-4-24
发表于 2017-9-29 09:46:16 | 显示全部楼层
厉害,顶起来
[发帖际遇]: 夜空星灿烂 乐于助人,奖励 3 蛮牛币. 幸运榜 / 衰神榜

回复

使用道具 举报

6蛮牛粉丝
1013/1500
排名
2137
昨日变化
6

0

主题

178

帖子

1013

积分

Rank: 6Rank: 6Rank: 6

UID
146545
好友
0
蛮牛币
1310
威望
0
注册时间
2016-4-24
在线时间
265 小时
最后登录
2018-4-26
QQ
发表于 2017-9-29 10:11:24 | 显示全部楼层
顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶

回复 支持 反对

使用道具 举报

4四处流浪
357/500
排名
6444
昨日变化
42

0

主题

56

帖子

357

积分

Rank: 4

UID
198858
好友
0
蛮牛币
388
威望
0
注册时间
2017-1-4
在线时间
123 小时
最后登录
2018-4-26
发表于 2017-9-29 10:38:22 | 显示全部楼层
又学到了一种新姿势,

回复 支持 反对

使用道具 举报

排名
3402
昨日变化
1

10

主题

128

帖子

776

积分

Rank: 9Rank: 9Rank: 9

UID
117397
好友
4
蛮牛币
1486
威望
0
注册时间
2015-8-10
在线时间
170 小时
最后登录
2018-4-10

专栏作家

发表于 2017-9-29 11:15:58 | 显示全部楼层
这个厉害了,但是IOS端lz测了吗

回复 支持 反对

使用道具 举报

7日久生情
1663/5000
排名
2527
昨日变化
2

0

主题

708

帖子

1663

积分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
148286
好友
0
蛮牛币
3383
威望
0
注册时间
2016-5-11
在线时间
459 小时
最后登录
2018-4-20
发表于 2017-9-29 17:35:35 | 显示全部楼层

回复

使用道具 举报

6蛮牛粉丝
1138/1500
排名
3282
昨日变化
2

0

主题

527

帖子

1138

积分

Rank: 6Rank: 6Rank: 6

UID
156480
好友
0
蛮牛币
1849
威望
0
注册时间
2016-7-12
在线时间
225 小时
最后登录
2018-3-16
发表于 2017-9-30 08:58:02 | 显示全部楼层
有什么用呢

回复

使用道具 举报

7日久生情
2082/5000
排名
952
昨日变化
1

30

主题

388

帖子

2082

积分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
124569
好友
25
蛮牛币
9879
威望
0
注册时间
2015-10-4
在线时间
674 小时
最后登录
2018-4-26
发表于 2017-9-30 17:27:58 | 显示全部楼层
6666666666666666666666666666666

回复 支持 反对

使用道具 举报

4四处流浪
354/500
排名
16461
昨日变化
15

1

主题

145

帖子

354

积分

Rank: 4

UID
213085
好友
3
蛮牛币
233
威望
0
注册时间
2017-3-20
在线时间
174 小时
最后登录
2018-4-25
发表于 2017-9-30 21:30:39 | 显示全部楼层
@AWNUXCVBN 能不能在视频中加文字啊

回复 支持 反对

使用道具 举报

6蛮牛粉丝
1226/1500
排名
1509
昨日变化
4

3

主题

86

帖子

1226

积分

Rank: 6Rank: 6Rank: 6

UID
80787
好友
1
蛮牛币
1837
威望
0
注册时间
2015-3-17
在线时间
399 小时
最后登录
2018-4-26
QQ
发表于 2017-10-3 08:11:10 | 显示全部楼层
方法是可以 但是和直接加个Text的GameObject有什么区别?

回复 支持 反对

使用道具 举报

7日久生情
2530/5000
排名
3293
昨日变化
2

2

主题

1779

帖子

2530

积分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
241666
好友
0
蛮牛币
10181
威望
0
注册时间
2017-9-6
在线时间
359 小时
最后登录
2018-4-20
发表于 2017-10-5 08:02:06 来自Mobile--- | 显示全部楼层
感谢分享

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册帐号

本版积分规则

快速回复 返回顶部 返回列表