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

扫一扫,访问微社区

开发者专栏

关注:1908

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

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

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

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

[复制链接]  [移动端链接]
排名
1270
昨日变化
5

9

主题

114

帖子

1956

积分

Rank: 9Rank: 9Rank: 9

UID
686
好友
5
蛮牛币
2246
威望
0
注册时间
2013-7-4
在线时间
711 小时
最后登录
2017-10-23

专栏作家社区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




回复

使用道具 举报

排名
4856
昨日变化
1

4

主题

73

帖子

425

积分

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

UID
1997
好友
2
蛮牛币
1417
威望
0
注册时间
2013-8-14
在线时间
60 小时
最后登录
2017-10-17

社区QQ达人

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

回复

使用道具 举报

排名
1270
昨日变化
5

9

主题

114

帖子

1956

积分

Rank: 9Rank: 9Rank: 9

UID
686
好友
5
蛮牛币
2246
威望
0
注册时间
2013-7-4
在线时间
711 小时
最后登录
2017-10-23

专栏作家社区QQ达人

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

回复 支持 反对

使用道具 举报

3偶尔光临
242/300
排名
5915
昨日变化
57

0

主题

8

帖子

242

积分

Rank: 3Rank: 3Rank: 3

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

回复 支持 反对

使用道具 举报

排名
1270
昨日变化
5

9

主题

114

帖子

1956

积分

Rank: 9Rank: 9Rank: 9

UID
686
好友
5
蛮牛币
2246
威望
0
注册时间
2013-7-4
在线时间
711 小时
最后登录
2017-10-23

专栏作家社区QQ达人

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

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

回复 支持 反对

使用道具 举报

6蛮牛粉丝
1315/1500
排名
1620
昨日变化
6

17

主题

184

帖子

1315

积分

Rank: 6Rank: 6Rank: 6

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

回复

使用道具 举报

5熟悉之中
646/1000
排名
3302
昨日变化
13

0

主题

128

帖子

646

积分

Rank: 5Rank: 5

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

回复 支持 反对

使用道具 举报

3偶尔光临
209/300
排名
8784
昨日变化
5

2

主题

48

帖子

209

积分

Rank: 3Rank: 3Rank: 3

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

回复 支持 反对

使用道具 举报

排名
4419
昨日变化
23

9

主题

84

帖子

550

积分

Rank: 9Rank: 9Rank: 9

UID
117397
好友
2
蛮牛币
959
威望
0
注册时间
2015-8-10
在线时间
117 小时
最后登录
2017-10-23

专栏作家

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

回复 支持 反对

使用道具 举报

6蛮牛粉丝
1100/1500
排名
3587
昨日变化
14

0

主题

486

帖子

1100

积分

Rank: 6Rank: 6Rank: 6

UID
148286
好友
0
蛮牛币
2339
威望
0
注册时间
2016-5-11
在线时间
296 小时
最后登录
2017-10-23

迈向小康

发表于 2017-9-29 17:35:35 | 显示全部楼层

回复

使用道具 举报

5熟悉之中
925/1000
排名
3958
昨日变化
1

0

主题

467

帖子

925

积分

Rank: 5Rank: 5

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

回复

使用道具 举报

7日久生情
1540/5000
排名
1252
昨日变化
6

27

主题

223

帖子

1540

积分

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

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

回复 支持 反对

使用道具 举报

2初来乍到
129/150
排名
15734
昨日变化
7

1

主题

47

帖子

129

积分

Rank: 2Rank: 2

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

回复 支持 反对

使用道具 举报

5熟悉之中
952/1000
排名
1923
昨日变化
12

2

主题

78

帖子

952

积分

Rank: 5Rank: 5

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

回复 支持 反对

使用道具 举报

5熟悉之中
751/1000
排名
8884
昨日变化
122

2

主题

547

帖子

751

积分

Rank: 5Rank: 5

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

回复

使用道具 举报

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

本版积分规则

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