喵喵喵?
Mat src = new Mat(@"C:\Users\MyPC\OneDrive\Pictures\Menhera酱表情包 无水印汉化版\6.jpg", ImreadModes.AnyColor);
Cv2.PutText(src, "Menhenra酱,卡哇伊!", new Point(0, src.Rows - 10), HersheyFonts.HersheyScriptComplex, 2, Scalar.DarkCyan);
字体用中文字体就可以了,C#没怎么用,我用的是python,不过原理应该相通的
namespace OpenCvSharp
{
[Flags]
public enum HersheyFonts
{
HersheySimplex = 0,
HersheyPlain = 1,
HersheyDuplex = 2,
HersheyComplex = 3,
HersheyTriplex = 4,
HersheyComplexSmall = 5,
HersheyScriptSimplex = 6,
HersheyScriptComplex = 7,
Italic = 16
}
}
莫得中文字体,而且py好像也不能写中文
@小草上飞飞: python中文字体是用PTL模块实现的,就是最最基础处理图片的模块,C#不知道有没有,你要是需要的话我可以写一段python的伪代码给你
@小小咸鱼YwY: 我去找找这个PTL怎么做,我没发现有人用C# 写中文
@小草上飞飞: 你可以看看你们C#处理图片的老祖宗估计就有了
@小草上飞飞:
from PIL import ImageDraw,ImageFont,Image
def img_writer(text_size,xy,text,text_color,fontStyle,img):
draw = ImageDraw.Draw(img)
# 字体的格式 这里的SimHei.ttf需要有这个字体
fontStyle = ImageFont.truetype(fontStyle, text_size, encoding='utff8')
# 绘制文本
draw.text(xy, text, text_color, font=fontStyle)
if __name__ == '__main__':
text_size = 50 # 字体大小
xy = (56, 1700) # 起始位置
data = 'Menhenra酱,卡哇伊!' # 内容
text_color = (26, 42, 44) # 字体颜色
fontStyle = f'PingFang Bold.ttf' # 字体位置
img = Image.open('图片路径')
img_writer(text_size, xy, data, text_color, fontStyle, img)
请问博主是通过什么方式实现的呀?C# OpencvSharp绘制中文文本,最近也遇到同样的问题了
我忘记了,淦!opencvsharp打开网络视频内存会奇奇怪怪地一直往上涨,不知道为啥
然后我们换了c++