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

扫一扫,访问微社区

开发者专栏

关注:2061

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

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

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

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

[复制链接]  [移动端链接]
排名
1027
昨日变化
4

9

主题

142

帖子

2301

积分

Rank: 9Rank: 9Rank: 9

UID
686
好友
8
蛮牛币
2856
威望
0
注册时间
2013-7-4
在线时间
866 小时
最后登录
2018-1-21

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




回复

使用道具 举报

排名
5033
昨日变化

4

主题

75

帖子

435

积分

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

UID
1997
好友
2
蛮牛币
1427
威望
0
注册时间
2013-8-14
在线时间
62 小时
最后登录
2018-1-19

社区QQ达人

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

回复

使用道具 举报

排名
1027
昨日变化
4

9

主题

142

帖子

2301

积分

Rank: 9Rank: 9Rank: 9

UID
686
好友
8
蛮牛币
2856
威望
0
注册时间
2013-7-4
在线时间
866 小时
最后登录
2018-1-21

专栏作家社区QQ达人

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

回复 支持 反对

使用道具 举报

4四处流浪
483/500
排名
3421
昨日变化
15

0

主题

20

帖子

483

积分

Rank: 4

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

回复 支持 反对

使用道具 举报

排名
1027
昨日变化
4

9

主题

142

帖子

2301

积分

Rank: 9Rank: 9Rank: 9

UID
686
好友
8
蛮牛币
2856
威望
0
注册时间
2013-7-4
在线时间
866 小时
最后登录
2018-1-21

专栏作家社区QQ达人

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

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

回复 支持 反对

使用道具 举报

6蛮牛粉丝
1499/1500
排名
1438
昨日变化
2

22

主题

212

帖子

1499

积分

Rank: 6Rank: 6Rank: 6

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

回复

使用道具 举报

5熟悉之中
820/1000
排名
2589
昨日变化

0

主题

140

帖子

820

积分

Rank: 5Rank: 5

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

回复 支持 反对

使用道具 举报

3偶尔光临
294/300
排名
7297
昨日变化
4

2

主题

57

帖子

294

积分

Rank: 3Rank: 3Rank: 3

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

回复 支持 反对

使用道具 举报

排名
3563
昨日变化
2

9

主题

121

帖子

716

积分

Rank: 9Rank: 9Rank: 9

UID
117397
好友
2
蛮牛币
1417
威望
0
注册时间
2015-8-10
在线时间
156 小时
最后登录
2018-1-18

专栏作家

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

回复 支持 反对

使用道具 举报

6蛮牛粉丝
1463/1500
排名
2822
昨日变化

0

主题

641

帖子

1463

积分

Rank: 6Rank: 6Rank: 6

UID
148286
好友
0
蛮牛币
2980
威望
0
注册时间
2016-5-11
在线时间
396 小时
最后登录
2018-1-19

迈向小康

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

回复

使用道具 举报

6蛮牛粉丝
1036/1500
排名
3539
昨日变化
22

0

主题

503

帖子

1036

积分

Rank: 6Rank: 6Rank: 6

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

回复

使用道具 举报

7日久生情
1834/5000
排名
1124
昨日变化

30

主题

292

帖子

1834

积分

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

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

回复 支持 反对

使用道具 举报

3偶尔光临
237/300
排名
16675
昨日变化
8

1

主题

98

帖子

237

积分

Rank: 3Rank: 3Rank: 3

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

回复 支持 反对

使用道具 举报

6蛮牛粉丝
1147/1500
排名
1524
昨日变化
1

2

主题

80

帖子

1147

积分

Rank: 6Rank: 6Rank: 6

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

回复 支持 反对

使用道具 举报

7日久生情
2102/5000
排名
4380
昨日变化
36

2

主题

1541

帖子

2102

积分

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

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

回复

使用道具 举报

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

本版积分规则

关闭

站长推荐 上一条 /1 下一条

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