Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在位图(Winforms)上绘制清晰的文本?_C#_Winforms_Text_Bitmap - Fatal编程技术网

C# 如何在位图(Winforms)上绘制清晰的文本?

C# 如何在位图(Winforms)上绘制清晰的文本?,c#,winforms,text,bitmap,C#,Winforms,Text,Bitmap,我已经编写了一个照片查看器,我想在照片上叠加文本。我希望字体或字体颜色使文本尽可能清晰地显示在位图顶部,而不管底层位图是什么样子 我目前的想法是,取位图中文本将出现的区域,对该区域进行某种“整体颜色”计算,然后将字体颜色设置为相应的对比度 然而,这个数学是我的头。有没有人见过这种“所有这些像素的平均颜色是多少”的计算方法?或者这甚至不是最好的方法 编辑:我将此问题的第二部分转移到另一个问题。您可以使用此选项计算位图区域的平均颜色: 您是否将图像存储为位图 您还可以绘制轮廓文本。例如,带有黑色轮廓

我已经编写了一个照片查看器,我想在照片上叠加文本。我希望字体或字体颜色使文本尽可能清晰地显示在位图顶部,而不管底层位图是什么样子

我目前的想法是,取位图中文本将出现的区域,对该区域进行某种“整体颜色”计算,然后将字体颜色设置为相应的对比度

然而,这个数学是我的头。有没有人见过这种“所有这些像素的平均颜色是多少”的计算方法?或者这甚至不是最好的方法


编辑:我将此问题的第二部分转移到另一个问题。

您可以使用此选项计算位图区域的平均颜色: 您是否将图像存储为
位图

您还可以绘制轮廓文本。例如,带有黑色轮廓的白色文本。这将使文本在大多数背景上可见:

我可能应该提到,文本不会太大;它本质上是图像元数据。所以我怀疑大纲字体不起作用。然而,这是一篇非常有用的文章,我将其添加到书签中:-)至于“我是否将图像存储为位图”,我非常灵活。我从文件中读取图像并将其分配给PictureBox图像。如果我计算得好的话,我会在图片盒上加一个透明的标签,并相应地设置字体颜色。这太棒了!我偷了蒂尔的密码。看起来这正是我需要的。现在。。。呃,我如何抓取原始位图的一个区域,并将其转换为可以提供给Till代码的位图?我有坐标。。。只是不知道如何从他们的另一个位图…我想你可以修改一下代码。只需将
Rectangle
作为
CalculatearAgeColor
函数的参数传递,并相应地修改
x
y
循环,以从
矩形、左
矩形、上
矩形、右
矩形、下
循环。