- Details
- Written by: Stanko Milosev
- Category: Windows Forms
- Hits: 2502
private Image SetImageOpacity(Image image, float opacity)
{
try
{
//create a Bitmap the size of the image provided
Bitmap bmp = new Bitmap(image.Width, image.Height);
//create a graphics object from the image
using (Graphics gfx = Graphics.FromImage(bmp))
{
//create a color matrix object
ColorMatrix matrix = new ColorMatrix();
//set the opacity
matrix.Matrix33 = opacity;
//create image attributes
ImageAttributes attributes = new ImageAttributes();
//set the color(opacity) of the image
attributes.SetColorMatrix(matrix, ColorMatrixFlag.Default, ColorAdjustType.Bitmap);
//now draw the image
gfx.DrawImage(image
, new Rectangle(0
, 0
, bmp.Width
, bmp.Height
)
, 0
, 0
, image.Width
, image.Height
, GraphicsUnit.Pixel
, attributes
);
}
return bmp;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
return null;
}
}
My example how use this method:
try
{
float opacity = (float) trackBar1.Value / 100;
panel1.BackgroundImageLayout = ImageLayout.Center;
panel1.BackgroundImage = SetImageOpacity(myBitmap, opacity);
}
catch (Exception exception)
{
MessageBox.Show($@"Cannot to set opacity of picture. Error message: {exception.Message}");
}
Notice that opacity is float and it can be between 0 to 1, everything bigger then 1 will have no impact. Example in Winforms you can download from here.
Taken from here.
- Details
- Written by: Stanko Milosev
- Category: Windows Forms
- Hits: 6419
Start new Windows Forms Application, for example, name it MyInheritance.
In solution explorer right clink on MyInheritance, like on picture:
Then, in project properties under Output type choose Console Application like on picture:
Save it. Put a button on a form (add form if it doesn't exist), build project.
Then, to test it, go to the File -> Add -> New project... Then choose Windows Forms Application, in the solution explorer right click on References, go to the project tab and choose MyInheritance, then right click on this new project -> Add -> New item ->Windows Forms -> Inherited Form -> Ok and this is it.
If you want to change a component in your inhertited form, then choose property Modifiers from MyInheritance and change it to Public.
Taken from here.