using System.Drawing.Drawing2D;
privatestaticImage fill_layer(PictureBox Pic_Box,Image img,Color Layer_color,int Percent)
{
//از img به عنوان بک آپ استفاده می شود
//percent درصد شفافیت است
Pic_Box.Image = img;
Bitmap bmp_img = newBitmap(Pic_Box.Image);
Graphics ghp = Graphics.FromImage(bmp_img);
LinearGradientBrush LineaBrush;
LineaBrush = newLinearGradientBrush(newRectangle(0, 0, bmp_img.Width, bmp_img.Height), Color.FromArgb(Percent, Layer_color), Color.FromArgb(Percent, Layer_color), LinearGradientMode.BackwardDiagonal);
ghp.FillRectangle(LineaBrush, newRectangle(0, 0, bmp_img.Width, bmp_img.Height));
return (Image)bmp_img;
}
pictureBox1.Image = fill_layer(pictureBox1,pictureBox2.Image, Color,Value);
private void button2_Click(object sender, EventArgs e)
{
Random r = new Random();
Bitmap b = new Bitmap(Width, Height);
Graphics g = Graphics.FromImage(b);
SolidBrush br = new SolidBrush(Color.FromArgb(150, r.Next(255),
r.Next(255), r.Next(255)));
g.FillRectangle(br,0,0,Width,Height);
pictureBox1.Image = b;
}
control.BackColor = Color.FromArgb(trancparency, control.BackColor);
control.BackColor = Color.Transparent;
bool b = false;
int x1, y1 = 0;
private void pictureBox1_MouseMove(object sender, MouseEventArgs e)
{
if (b == true)
{
SolidBrush sb = new SolidBrush(Color.White);
Bitmap bi = new Bitmap(Width, Height);
Graphics g = Graphics.FromImage(bi);
int xx = e.X - x1;
int yy = e.Y - y1;
g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;
g.DrawEllipse(new Pen(sb), new Rectangle(x1, y1, xx, yy));
sb.Color = Color.FromArgb(150, 255, 0, 0);
g.FillEllipse(sb, new Rectangle(x1, y1, xx, yy));
pictureBox1.Image = bi;
}
}
private void pictureBox1_MouseUp(object sender, MouseEventArgs e)
{
b = false;
}
private void pictureBox1_MouseDown(object sender, MouseEventArgs e)
{
b = true;
x1 = e.X;
y1 = e.Y;
}