я использую следующий код, чтобы нарисовать текст в центре изображения под угломЧерепица текст поверх изображения под углом
Bitmap bmp = new Bitmap(pictureBox1.Image);
using (Graphics g = Graphics.FromImage(bmp)) {
g.TranslateTransform(bmp.Width/2, bmp.Height/2);
g.RotateTransform(30);
SizeF textSize = g.MeasureString("hi", font);
g.DrawString("hi", font, Brushes.Red, -(textSize.Width/2), -(textSize.Height/2));
}
Мне нужно Tile текст по всему изображению, как этот
Я знаю, что я могу увеличивать координаты и использовать Loop.I имеют
Bitmap bmp = new Bitmap(pictureBox1.Image);
for (int i = 0; i < bmp.Width; i += 20)
{
for (int y = 0; y < bmp.Height; y += 20)
{
using (Graphics g = Graphics.FromImage(bmp))
{
g.TranslateTransform(bmp.Width/2, bmp.Height/2);
g.RotateTransform(30);
SizeF textSize = g.MeasureString("my test image", DefaultFont);
g.DrawString("my test image", DefaultFont, Brushes.Yellow, i, y);
}
}
}
pictureBox1.Image = bmp;
Это приводит к следующему результату
Как я поместить текст правильно, измеряя нарисованную область properly.May быть лучше и быстрее подход.
Вы добавляете один и тот же текст каждый раз или вообще не динамичны? – Plutonix