سلام بر همه برنامه نویسان این مرز و بوم! امروز کد چرخش یک تصویر با زاویه تعیین شده در سی شارپ c#.net رو براتون آماده کردم.
//کار با تصاویر در سی شارپ
private Bitmap rotateImage(Bitmap b, float angle)
{
//Create a new empty bitmap to hold rotated image.
Bitmap returnBitmap = new Bitmap(b.Width, b.Height);
//Make a graphics object from the empty bitmap.
Graphics g = Graphics.FromImage(returnBitmap);
//move rotation point to center of image
g.TranslateTransform((float)b.Width / 2, (float)b.Height / 2);
//rotate
g.RotateTransform(angle);
//move image back
g.TranslateTransform(-(float)b.Width / 2, -(float)b.Height / 2);
//draw passed in image onto graphics object
g.DrawImage(b, new Point(0, 0));
return returnBitmap;
}
مثالی از نحوه ی استفاده در قالب رویداد کلیک دکمه
private void button1_Click(object sender, EventArgs e)
{
Bitmap b = (Bitmap) firstpicturebox.Image;
secondpicturebox.Image = rotateImage(b, 60);
}
private Bitmap rotateImage(Bitmap b, float angle)
{
//Create a new empty bitmap to hold rotated image.
Bitmap returnBitmap = new Bitmap(b.Width, b.Height);
//Make a graphics object from the empty bitmap.
Graphics g = Graphics.FromImage(returnBitmap);
//move rotation point to center of image
g.TranslateTransform((float)b.Width / 2, (float)b.Height / 2);
//rotate
g.RotateTransform(angle);
//move image back
g.TranslateTransform(-(float)b.Width / 2, -(float)b.Height / 2);
//draw passed in image onto graphics object
g.DrawImage(b, new Point(0, 0));
return returnBitmap;
}
مثالی از نحوه ی استفاده در قالب رویداد کلیک دکمه
private void button1_Click(object sender, EventArgs e)
{
Bitmap b = (Bitmap) firstpicturebox.Image;
secondpicturebox.Image = rotateImage(b, 60);
}
همانطور که مشاهده می کنید ، کد بالا ، عکس را 60 درجه می چرخاند.
موفق و پیروز باشید
یا علی