Advertisement
Guest User

Untitled

a guest
Nov 20th, 2017
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.04 KB | None | 0 0
  1.         public void Suwak(int WARTOSC)
  2.         {
  3.             System.Drawing.Color pixel;
  4.             int J = 0;
  5.             double C = 0;
  6.             for (int j = 1; j <= L; j++)
  7.                 for (int i = 1; i <= K; i++)
  8.                 {
  9.                     pixel = m_obraz_w_pamieci.GetPixel(i - 1, j - 1);
  10.  
  11.                     //--------------------------------------//
  12.                     //miejsce na kod dokonujący zmianę obrazu
  13.                     int R = WARTOSC + pixel.R;
  14.                     R = Math.Min(255, R);
  15.                     R = Math.Max(0, R);
  16.  
  17.                     int G = WARTOSC + pixel.G;
  18.                     G = Math.Min(255, G);
  19.                     G = Math.Max(0, G);
  20.  
  21.                     int B = WARTOSC + pixel.B;
  22.                     B = Math.Min(255, B);
  23.                     B = Math.Max(0, B);
  24.  
  25.                     J += (R + G + B) / 3;
  26.  
  27.                     pixel = System.Drawing.Color.FromArgb(R, G, B);
  28.  
  29.                     //--------------------------------------//
  30.  
  31.                     m_ekran.SetPixel(i - 1, j - 1, pixel);
  32.                 }
  33.             J = J / (L * K);
  34.             for (int j = 1; j <= L; j++)
  35.                 for (int i = 1; i <= K; i++)
  36.                 {
  37.                     pixel = m_obraz_w_pamieci.GetPixel(i - 1, j - 1);
  38.                     int R = WARTOSC + pixel.R;
  39.                     R = Math.Min(255, R);
  40.                     R = Math.Max(0, R);
  41.  
  42.                     int G = WARTOSC + pixel.G;
  43.                     G = Math.Min(255, G);
  44.                     G = Math.Max(0, G);
  45.  
  46.                     int B = WARTOSC + pixel.B;
  47.                     B = Math.Min(255, B);
  48.                     B = Math.Max(0, B);
  49.  
  50.                     C += (((R + G + B) / 3) - J) * (((R + G + B) / 3) - J);
  51.                 }
  52.             J = 100 * J / 255;
  53.             C = 100 * Math.Sqrt(C) / (L * 127.5);
  54.  
  55.             label2.Text = "Jasność = " + J.ToString() + "%";
  56.             label3.Text = "Kontrast = " + ((int)C).ToString() + "%";
  57.  
  58.             SetBitMap(ref m_ekran);
  59.         }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement