Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private void obracanieWorker_DoWork(object sender, DoWorkEventArgs e)
- {
- int procent = 0;
- gotowy = new Bitmap(Convert.ToInt32(1 * obraz.Width), Convert.ToInt32(1 * obraz.Height));
- double tmpX, tmpY;
- tmpX = 0;
- tmpY = 0;
- for (int x = 0; x < obraz.Width; x++)
- {
- procent = Convert.ToInt32((double)x / obraz.Height * 100);
- progressBar.Invoke((MethodInvoker)delegate
- {
- progressBar.Value = procent;
- });
- for (int y = 0; y < obraz.Height; y++)
- {
- Color kolor = obraz.GetPixel(x, y);
- double dbX = Convert.ToDouble(x);
- double dbY = Convert.ToDouble(y);
- // KONWERSJA NA RADIANY
- double kat = Convert.ToDouble(Val1Numeric.Value) * Math.PI / 180.0;
- tmpX = (int)(Math.Round((dbX - (obraz.Width / 2)) * Math.Cos(kat) - (dbY - (obraz.Height / 2)) * Math.Sin(kat))) + (obraz.Width / 2);
- tmpY = (int)(Math.Round((dbX - (obraz.Width / 2)) * Math.Sin(kat) + (dbY - (obraz.Height / 2)) * Math.Cos(kat))) + (obraz.Height / 2);
- if (tmpX < gotowy.Width && tmpY < gotowy.Height && tmpX > 0 && tmpY > 0)
- {
- gotowy.SetPixel(Convert.ToInt32(tmpX), Convert.ToInt32(tmpY), kolor);
- }
- }
- }
- wynik.Invoke((MethodInvoker)delegate
- {
- wynik.Image = gotowy;
- progressBar.Value = 100;
- zapisz.Enabled = true;
- });
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement