Как нарисовать прямоугольник на изображении с прозрачностью и текстом
Это мой первый графический проект, и для начала мне нужно иметь возможность нарисовать прямоугольник на растровое изображение с прозрачностью и текстом.
Я не уверен, с чего начать. Я провел небольшое исследование, но не могу найти статью, которая позволит мне добавить полупрозрачный прямоугольник к изображению.
то, что я буду иметь, это поток изображений, который мне нужно иметь возможность манипулировать.
может кто-то пожалуйста, мне точку в правильном направлении за это?
сайт с источником было бы здорово, как я никогда не делал никакой работы GDI раньше.
2 ответов
Вы можете попробовать что-то вроде этого:
// Load the image (probably from your stream)
Image image = Image.FromFile( imagePath );
using (Graphics g = Graphics.FromImage(image))
{
// Modify the image using g here...
// Create a brush with an alpha value and use the g.FillRectangle function
}
image.Save( imageNewPath );
Edit: код для создания полупрозрачной серой кисти
Color customColor = Color.FromArgb(50, Color.Gray);
SolidBrush shadowBrush = new SolidBrush(customColor);
g.FillRectangles(shadowBrush, new RectangleF[]{rectFToFill});
для начала вам нужно создать графический контекст из образа, который вы хотите изменить. см. здесь.
// Create image.
Image imageFile = Image.FromFile("SampImag.bmp");
// Create graphics object for alteration.
Graphics newGraphics = Graphics.FromImage(imageFile);
Как только у вас есть графический объект, вы можете использовать его множество методов для рисования на изображении. В вашем примере вы бы использовали объекта drawrectangle метод с цветом ARGB для создания полупрозрачного прямоугольника на изображении.
затем можно отобразить изображение на экране управления или сохранить его на диск.