View Full Version : سوال: چرخاندن PictureBox
masoud_sm2
دوشنبه 13 آذر 1391, 21:21 عصر
با سلام خدمت دوستان
من می خوام یه PictureBox با زاویه مورد نظرم به چرخونم.
اصلا تو C# امکان یه همچین کاری هست؟
یه سوال دیگه آیا راهی هست خطی رو روی یک تصور رسم کنیم و بعد بدون اینکه تصویر زیری خراب بشه اون خط رو پاک کرد؟
مهرداد صفا
دوشنبه 13 آذر 1391, 21:31 عصر
سلام
PictureBox1.CreateGraphics().RotateTransform((floa t)90);
شاه وفا ابالفضل
masoud_sm2
سه شنبه 14 آذر 1391, 00:44 صبح
مرسی از جوابتون برای سوال دوم چی راهی وجود داره؟
SHD.NET
سه شنبه 14 آذر 1391, 01:26 صبح
به این تاپیک ها مراجعه شود :
تاپیک 1:
http://stackoverflow.com/questions/6243535/drawing-lines-in-a-picturebox
تاپیک 2:
http://stackoverflow.com/questions/2729751/how-do-i-draw-a-circle-and-line-in-the-picturebox
تاپیک 3:
http://stackoverflow.com/questions/4187524/draw-lines-on-a-picturebox-in-c-sharp
:چشمک:\\\موفق باشید///:چشمک:
masoud_sm2
سه شنبه 14 آذر 1391, 21:04 عصر
سلام
PictureBox1.CreateGraphics().RotateTransform((floa t)90);
شاه وفا ابالفضل
سلام, من امروز فرست کردم از این کد استفاده کنم ولی متاسفانه نتونستم نتیجه ایی بگیرم. یعنی picturebox هیچ حرکتی نکرد. اگه امکان داره یک نمونه برنامه یا یک قطعه کد کامل تر قرار بدین ممنون میشم. با تشکر.
مهرداد صفا
سه شنبه 14 آذر 1391, 22:35 عصر
سلام, من امروز فرست کردم از این کد استفاده کنم ولی متاسفانه نتونستم نتیجه ایی بگیرم. یعنی picturebox هیچ حرکتی نکرد. اگه امکان داره یک نمونه برنامه یا یک قطعه کد کامل تر قرار بدین ممنون میشم. با تشکر.
سلام
//in the name of god
//اللهم صل علی محمد و آل محمد
private
void pictureBox1_Paint(object sender, PaintEventArgs e)
{
pictureBox1.Image =
null;
e.Graphics.TranslateTransform(pictureBox1.Width / 2, pictureBox1.Height / 2);
e.Graphics.RotateTransform(90);
e.Graphics.DrawImage(
Image.FromFile(@"e:\temp\temp.jpg"), 0, 0,pictureBox1.Width,pictureBox1.Height);
}
شاه وفا ابالفضل
kiarash abdani
چهارشنبه 22 آذر 1391, 00:25 صبح
چرخاندن به راست
private void btn_right_Click(object sender, EventArgs e)
{
Image img = pictureBox1.Image;
img.RotateFlip(RotateFlipType.Rotate90FlipNone);
pictureBox1.Image = img;
}
چرخاندن به چپ
private void btn_left_Click(object sender, EventArgs e)
{
Image img = pictureBox1.Image;
img.RotateFlip(RotateFlipType.Rotate270FlipNone);
pictureBox1.Image = img;
}
masoud_z_65
چهارشنبه 22 آذر 1391, 09:41 صبح
دوست عزیز دستور رفرش رو فراموش نکن
pictureBox1.Refresh();
masoud_z_65
چهارشنبه 22 آذر 1391, 09:42 صبح
اینم برای چرخش با هر زاویه که میخوای:
public Image RotateImage(Image img, float rotationAngle)
{
try
{
Bitmap bmp;
//create an empty Bitmap image
bmp = new Bitmap(original.Width, original.Height);
//turn the Bitmap into a Graphics object
Graphics gfx = Graphics.FromImage(bmp);
//now we set the rotation point to the center of our image
gfx.TranslateTransform((float)bmp.Width / 2, (float)bmp.Height / 2);
//now rotate the image
gfx.RotateTransform(rotationAngle);
gfx.TranslateTransform(-(float)bmp.Width / 2, -(float)bmp.Height / 2);
//set the InterpolationMode to HighQualityBicubic so to ensure a high
//quality image once it is transformed to the specified size
gfx.InterpolationMode = InterpolationMode.HighQualityBicubic;
//now draw our new image onto the graphics object
//gfx.DrawImage(img, new PointF(200, 200));
gfx.DrawImage(img, 0 ,0, img.Width, img.Height);
//dispose of our Graphics object
gfx.Dispose();
//return the image
return bmp;
}
catch (Exception)
{
throw;
}
}
kiarash abdani
چهارشنبه 22 آذر 1391, 16:52 عصر
دوست عزیز دستور رفرش رو فراموش نکن
مسعود جان کد رو تست کردم احتیاجی به refresh نداره، حتما جواب میده.
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.