在边缘的图像中放置文本

Tro*_*jan 6 vb.net image composition aspect-ratio visual-studio-2010

在此输入图像描述 我在Visual Basic 2010中编写的这个工具应该为图像添加作者文本.用户可以设置字体不透明度和位置.为了方便起见,我想要一些位置预设,如右下角所示.我正在使用的计算是(在这种情况下右下角:

 Dim textSize As Size = TextRenderer.MeasureText(tagString + curText, curFont)
 tmpPos = New Point(srcImg.Width - textSize.Width - 10, srcImg.Height - textSize.Height - 10)
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,这适用于此示例图片.一些文本只是剪辑出来的地方. 在此输入图像描述

第一个:1024x768 | 检测到的字体大小:680x72

第二名:1688x1125 | 检测到的字体大小:680x72

我怀疑这与图像的宽高比有关,但我不知道如何修复它.

文字是这样绘制的:

 brush = New SolidBrush(color.FromArgb(alpha, color))
        gr = Graphics.FromImage(editImg)
        gr.DrawString(tagString + text, font, brush, pos)
        HauptBild.Image = editImg
Run Code Online (Sandbox Code Playgroud)

我找到了这个http://www.codeproject.com/Articles/20923/Mouse-Position-over-Image-in-a-PictureBox,它回答了我的问题.

eta*_*n11 1

这个问题仅出现在您的预览中还是也出现在转换后的文件中?请发布如何保存新图像的代码。我认为您在图片框中设置了尺寸模式,这就是问题所在。尝试不使用尺寸模式。