Я использую следующий код для создания изображения с автоматическим размером:
String id="foo bar";
Color BackColor = Color.White;
String FontName = "Times New Roman";
int FontSize = 25;
int Height = 50;
int Width = 200;
Bitmap bitmap = new Bitmap(Width,Height);
Graphics graphics = Graphics.FromImage(bitmap);
Color color = Color.Gray; ;
Font font = new Font(FontName, FontSize);
SolidBrush BrushBackColor = new SolidBrush(BackColor);
Pen BorderPen = new Pen(color);
Rectangle displayRectangle = new Rectangle(new Point(0, 0), new Size());
graphics.FillRectangle(BrushBackColor, displayRectangle);
graphics.DrawRectangle(BorderPen, displayRectangle);
graphics.DrawString(id, font, Brushes.Black, 0, 0);
FileContentResult result;
using (var memStream = new System.IO.MemoryStream())
{
bitmap.Save(memStream, System.Drawing.Imaging.ImageFormat.Jpeg);
result = this.File(memStream.GetBuffer(), "image/jpeg");
}
Он работает правильно и создает изображение, но если мой текст, который я храню в id
, получит немногонемного больше, чем я не вижу весь текст на изображении из-за ширины, которую я установил.
Есть ли возможность сделать его динамичным?