我想在 vb.net 中制作一个图像,这是一个字符串
,它应该由 2 种颜色组成,一种作为前景色,另一种作为第一种颜色周围的颜色,
我应该如何使用代码制作它?
我的结果一定是这样的图像(黄色作为前景色,红色!作为背景)
[字符串是波斯语]
现在我首先使用
Dim result As New Bitmap(100, 100)
Dim g As Graphics = Graphics.FromImage(result)
g.DrawString("My string", New Font("Arial", 40), New SolidBrush(Color.yellow), 22, 22)
然后通过检查每个像素来处理这个图像,如果它们接近字符串,我将它们着色为红色,代码是这样的
kr = font_color.R
kg = font_color.G
kb = font_color.B
For i = 0 To (img.Height - 1) Step 1
prg.Value = prg.Value + 1
For j = 0 To (img.Width - 1)
If (kr = img.GetPixel(j, i).R And kg = img.GetPixel(j, i).G And kb = img.GetPixel(j, i).B) Then
'some code
ElseIf (isnabor(j, i) = True) Then'checks if it is close enough or not
img.SetPixel(j, i, back_color)
Else
img.SetPixel(j, i, Color.Transparent)
End If
Next
Next
问题是大图像需要很长时间
有更好的方法吗?