unity实现图片水印效果,IOS,安卓通用方案
前情提要:策划需求,玩家分享消息到其他APP,拉新玩家,类似拼多多拉人得奖励,消息内需要包含一张玩家信息得图片,有美术制作的美术字,也有玩家名字,玩家邀请码这些文本内容
美术字好处理,大概思路就是读取原始底图和对应语言的本地化美术字,然后一个个像素写到底图上
这里要注意打开图片的读写属性,要不然会报错,还要注意不要直接读原始底图,写内容的过程中会改变这个文件在内存中的内容,要用深拷贝。
文字这个要多个步骤,我的想法是首先把文本转成纹理,这样就可以直接走前面的流程贴上去了。我一开始用的是system.Drawing的方法。代码如下
使用system.Drawing需要往项目内添加system.Drawing.dll,但是这个有巨大缺陷,可能有同志知道,这个只能在Windows上使用,安卓ios无法使用,打包出来调用报错心态崩了。
既然只能使用unity自带的功能,就想到了把字体的贴图直接取出来,然后一个个写成一张纹理。代码如下
这个调用要注意首先font内需要有你需求的字体,而且严格对应style和size,所以调用之前首先需要这样准备一下
完!