Имеется изображение синего квадрата, залитое в picturebox. Можно ли сделать его цвет (или оттенок) красным, без смены его на другое изображение или изменение цвета каждого пикселя?
Можно поверх PictureBox
разместить панель, залитую полупрозрачным цветом.
Для тестирования создаём новый проект Windows Forms, в конструктор формы помещаем код:
public Form1()
{
//InitializeComponent();
// Создаём изображение - синий квадрат
var bmp = new Bitmap(150, 150);
var g = Graphics.FromImage(bmp);
g.Clear(Color.Blue);
var pictureBox = new PictureBox
{
Parent = this,
Width = 200,
Height = 200,
BorderStyle = BorderStyle.FixedSingle
};
pictureBox.Image = bmp;
// Создаём панель. Обратите внимание: её родитель - pictureBox
var panel = new Panel
{
Parent = pictureBox,
BackColor = Color.FromArgb(100, Color.Red),
//Dock = DockStyle.Fill
Size = pictureBox.Image.Size
};
}
Color.FromArgb(100, Color.Red)
- тут создаётся цвет с коэффициентом прозрачности 100 (может быть от 0 до 255; попробуйте поиграться с ним).
Если картинка занимает всю площадь пикчабокса, то у панели можно задать свойство Dock = DockStyle.Fill
(размер при этом не задаём). В противном случае, задаём такие же размеры, как у изображения.
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Виртуальный выделенный сервер (VDS) становится отличным выбором
Есть datagrid, которвй при поиске выделяет строку , но пои ппюовторном поиске предыдущая строка не сбрасывает цвет
Имеется вот такая процедура чтения строки из бинарного файла(Delphi):