1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
|
public static System.Drawing.Bitmap LibelledImage(System.Drawing.Bitmap originalImage, string text, System.Drawing.Font font,
System.Drawing.Size size, int imageHeight)
{
int textHeight = size.Height - imageHeight;
// Create target bitmap to return
System.Drawing.Bitmap targetBmp = new System.Drawing.Bitmap(size.Width, size.Height,
System.Drawing.Imaging.PixelFormat.Format32bppArgb);
System.Drawing.Graphics g = System.Drawing.Graphics.FromImage(targetBmp);
// Calculate image origin point and draw image
System.Drawing.Point originImage = new System.Drawing.Point();
originImage.X = (size.Width - originalImage.Width) / 2;
originImage.Y = (imageHeight - originalImage.Height) / 2;
g.DrawImage(originalImage, originImage);
// Define format to draw text
System.Drawing.StringFormat format = new System.Drawing.StringFormat();
format.LineAlignment = System.Drawing.StringAlignment.Center;
format.Alignment = System.Drawing.StringAlignment.Center;
// Draw text in RectangleF
System.Drawing.RectangleF rectText = new System.Drawing.RectangleF(0, imageHeight, size.Width, textHeight);
System.Drawing.Font ft = new System.Drawing.Font(font.Name, 8.25f, System.Drawing.FontStyle.Regular);
g.DrawString(text, ft, System.Drawing.Brushes.Black, rectText, format);
return targetBmp;
} |
Partager