R2du-soft
شنبه 26 تیر 1395, 18:58 عصر
با سلام
چطور میشه عکسی که درون یک picturebox از ابتدای برنامه لود شده رو تغییر opacity داد؟
کدهای زیر رو تست کردم جوواب نمیده:
pictureBox1.Opacity = 0.01;
picturebox1.Image = ChangeOpacity(picturebox1.Image, 3.3);
مشکل کجاست؟
سپاس
از دانت نت 4.5 و ویژوال 2013 استفاده میکنم
mrprestige
شنبه 26 تیر 1395, 19:26 عصر
سلام دوست من اول یه متد داخل کلاس Form بساز به این شکل
public static Bitmap ChangeOpacity(Image image, float opacityvalue)
{
Bitmap Bitmap1 = new Bitmap(image.Width, image.Height);
Graphics graphics = Graphics.FromImage(Bitmap1);
ColorMatrix colormatrix = new ColorMatrix();
colormatrix.Matrix33 = opacityvalue;
ImageAttributes ImageAttribute = new ImageAttributes();
ImageAttribute.SetColorMatrix(colormatrix, ColorMatrixFlag.Default, ColorAdjustType.Bitmap);
graphics.DrawImage(image, new Rectangle(0, 0, Bitmap1.Width, Bitmap1.Height), 0, 0, image.Width, image.Height, GraphicsUnit.Pixel, ImageAttribute);
graphics.Dispose();
return Bitmap1;
}
بعد داخل کنترل مورد نظرت (به عنوان مثال Form_Load) اینو بنویس
pictureBox1.Image = ChangeOpacity(Image.FromFile(@"آدرس عکس.jpg"), (0.5f));
پیروز و موفق باشی .
از کدنویسی لذت ببری
R2du-soft
یک شنبه 27 تیر 1395, 02:42 صبح
ممنون
و اما سوال دیگه
چطور میشه Opacity رو به حالت اول برگردوند؟
من میخوام زمانی که فرم لود میشه عکسی که داخل pictureBox1 هست به صورت Opacity 50% دربیاد اونطور بمونه
بعد وقتی موس میره روی pictureBox1 اون وقت Opacity 100% بشه یعنی عکس درست مثل اول دیده بشه
و وقتی موس از روی pictureBox1 کنار رفت Opacity باز به حالت 50% دربیاد
هرکاری کردم نشد،یکسری اذیت ها میکنه این کد و کدهای دیگه
میشه لطفا کمک کنید؟
ممنونم
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.