Fra*_*nva 6 c# asp.net image-processing
public static System.Drawing.Image GenerateGiftCard(String text, Font font, Color textColor)
{
System.Drawing.Image img = Bitmap.FromFile(@"G:\xxx\images\gift-card.jpg");
Graphics drawing = Graphics.FromImage(img);
//measure the string to see how big the image needs to be
SizeF textSize = drawing.MeasureString(text, font);
//create a brush for the text
Brush textBrush = new SolidBrush(textColor);
float x, y;
x = img.Width / 2 - textSize.Width / 2;
y = img.Height / 2 - textSize.Height / 2;
drawing.DrawString(text, font, textBrush, x, y);
drawing.Save();
textBrush.Dispose();
drawing.Dispose();
return img;
}
Run Code Online (Sandbox Code Playgroud)
But the text generated by this code is "plain" not dimensional and no shadow beneath it.
This is the font style I want:

Is there anything I can do to generate the same style via my code?
Does anyone know how to use SiteMapPath or ResolveURL objects to transfer a relative path to a physical one? cheers,
首先通过在偏移处使用较暗的,可选的半透明刷子绘制文本来渲染阴影.渲染阴影后,覆盖常规文本.
示例:
public static System.Drawing.Image GenerateGiftCard(String text, Font font, Color textColor, Color shadowColor, SizeF shadowOffset)
{
System.Drawing.Image img = Bitmap.FromFile(@"G:\xxxx\images\gift-card.jpg");
Graphics drawing = Graphics.FromImage(img);
//measure the string to see how big the image needs to be
SizeF textSize = drawing.MeasureString(text, font);
//create a brush for the text
Brush shadowBrush = new SolidBrush(shadowColor); // <-- Here
Brush textBrush = new SolidBrush(textColor);
float x, y;
x = img.Width / 2 - textSize.Width / 2;
y = img.Height / 2 - textSize.Height / 2;
drawing.DrawString(text, font, shadowBrush, x + shadowOffset.Width, y + shadowOffset.Height); // <-- Here
drawing.DrawString(text, font, textBrush, x, y);
drawing.Save();
textBrush.Dispose();
drawing.Dispose();
return img;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4976 次 |
| 最近记录: |