Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //-----------------------------------------------//
- using System.Linq;
- namespace Graf_kom
- {
- public partial class f_graf_kom
- {
- //------------------
- //------------------
- public void Efekt1()
- {
- //efekt: zsuwanie się obrazu w dół
- if (p >= L) p = 0; //zapetlanie efektu
- for (int j = 1; j <= p; j++)
- {
- for (int i = 1; i <= K; i++)
- ReadTlo(N);
- }
- for (int j = 1; j <= L-p; j++)
- {
- for (int i = 1; i <= K; i++)
- ReadPixel(i, j);
- }
- }
- //------------------
- //------------------
- public void Efekt2()
- {
- //efekt: przewijanie się obrazu z lewa na prawo
- if (p >= L) p = 0;
- for (int j = 1; j <= L; j++)
- {
- for (int i = 1 + p; i <= K; i++)
- ReadPixel(i, j);
- for (int i = 1; i <= p; i++)
- ReadPixel(i, j);
- }
- }
- //------------------
- //------------------
- public void Efekt3()
- {
- //efekt: rozchodzenie się obrazu w 4 częściach po przekątnych
- // if (p >= L) p = 0; //zapetlanie efektu
- for (int j = L; j >= L-p; j--)
- {
- for (int i = K; i >= K-p; i--)
- ReadPixel(i, j);
- for (int i = 1; i >= K-p; i++)
- ReadTlo(N);
- }
- for (int j = 1; j <= L-p; j++)
- {
- for (int i = K-p; i < K; i++)
- ReadTlo(N);
- for (int i = 1; i <= K - p; i++)
- ReadPixel(i, j);
- }
- }
- /*
- if (p >= L / 2) p = 0;
- for (int j = 1 + p; j <= L / 2; j++)
- {
- for (int i = 1 + p; i <= K / 2; i++)
- ReadPixel(i, j);
- for (int i = 1; i <= 2 * p; i++)
- ReadTlo(N);
- for (int i = K / 2 + 1; i <= K - p; i++)
- ReadPixel(i, j);
- }
- for (int j = 1; j <= 2 * p; j++)
- {
- for (int i = 1; i <= K; i++)
- ReadTlo(N);
- }
- for (int j = L / 2 + 1; j <= L - p; j++)
- {
- for (int i = 1 + p; i <= K / 2; i++)
- ReadPixel(i, j);
- for (int i = 1; i <= 2 * p; i++)
- ReadTlo(N);
- for (int i = K / 2 + 1; i <= K - p; i++)
- ReadPixel(i, j);*/
- //------------------
- //------------------
- public void Zmien_obraz()
- {
- System.Drawing.Color pixel;
- for (int j = 1; j <= L; j++)
- for (int i = 1; i <= K; i++)
- {
- pixel = m_obraz_w_pamieci.GetPixel(i - 1, j - 1);
- //--------------------------------------//
- //miejsce na kod dokonujący zmianę obrazu
- pixel = System.Drawing.Color.FromArgb(pixel.R, pixel.G, pixel.B);
- //--------------------------------------//
- m_ekran.SetPixel(i - 1, j - 1, pixel);
- }
- SetBitMap(ref m_ekran);
- }
- public void ZmienObraz(int value)
- {
- for (int j = 0; j < L; j++)
- {
- for (int i = 0; i < K; i++)
- {
- System.Drawing.Color pixel = m_obraz_w_pamieci.GetPixel(i, j);
- int[] rgb = { pixel.R, pixel.G, pixel.B };
- for (int x = 0; x < rgb.Length; x++)
- {
- rgb[x] += value;
- if (rgb[x] > 255)
- rgb[x] = 255;
- if (rgb[x] < 0)
- rgb[x] = 0;
- }
- m_ekran.SetPixel(i, j, System.Drawing.Color.FromArgb(rgb[0], rgb[1], rgb[2]));
- }
- }
- for (int j = 0; j < L; j++)
- {
- for (int i = 0; i < K; i++)
- {
- System.Drawing.Color pixel = m_ekran.GetPixel(i, j);
- int[] rgb = { pixel.R, pixel.G, pixel.B };
- }
- }
- SetBitMap(ref m_ekran);
- }
- public void zmienKontrast(float Value)
- {
- for (int i = 0; i < 100; i++)
- {
- for (int j = 0; j < 100; j++)
- {
- System.Drawing.Color Pixel = m_obraz_w_pamieci.GetPixel(i, j);
- float Red = Pixel.R / 255.0f;
- float Green = Pixel.G / 255.0f;
- float Blue = Pixel.B / 255.0f;
- Red = (((Red - 0.5f) * Value) + 0.5f) * 255.0f;
- Green = (((Green - 0.5f) * Value) + 0.5f) * 255.0f;
- Blue = (((Blue - 0.5f) * Value) + 0.5f) * 255.0f;
- int iR = (int)Red;
- iR = iR > 255 ? 255 : iR;
- iR = iR < 0 ? 0 : iR;
- int iG = (int)Green;
- iG = iG > 255 ? 255 : iG;
- iG = iG < 0 ? 0 : iG;
- int iB = (int)Blue;
- iB = iB > 255 ? 255 : iB;
- iB = iB < 0 ? 0 : iB;
- m_ekran.SetPixel(i, j, System.Drawing.Color.FromArgb(iR, iG, iB));
- }
- }
- SetBitMap(ref m_ekran);
- }
- public void Zadanie1A()
- {
- for (int j = 0; j < L; j++)
- {
- for (int i = 0; i < K; i++)
- {
- System.Drawing.Color c = m_obraz_w_pamieci.GetPixel(i, j);
- int[] arr = { c.R, c.G, c.B };
- int l = (arr.Max() + arr.Min()) / 2;
- System.Drawing.Color newColor = System.Drawing.Color.FromArgb(l, l, l);
- m_ekran.SetPixel(i, j, newColor);
- }
- }
- jasnosc.Text = "jasnosc= " + GetBrightness();
- kontrast.Text = "kontrast= " + GetContrast(GetBrightness());
- pj.Text = "0%";
- pk.Text = "0%";
- SetBitMap(ref m_ekran);
- }
- public void Zadanie1B()
- {
- for (int j = 0; j < L; j++)
- {
- for (int i = 0; i < K; i++)
- {
- System.Drawing.Color c = m_obraz_w_pamieci.GetPixel(i, j);
- int[] arr = { c.R, c.G, c.B };
- int l = arr.Max();
- System.Drawing.Color newColor = System.Drawing.Color.FromArgb(l, l, l);
- m_ekran.SetPixel(i, j, newColor);
- }
- }
- jasnosc.Text = "jasnosc= " + GetBrightness();
- kontrast.Text = "kontrast= " + GetContrast(GetBrightness());
- pj.Text = "0%";
- pk.Text = "0%";
- SetBitMap(ref m_ekran);
- }
- public void Zadanie1C()
- {
- for (int j = 0; j < L; j++)
- {
- for (int i = 0; i < K; i++)
- {
- System.Drawing.Color c = m_obraz_w_pamieci.GetPixel(i, j);
- int l = (c.R + c.G + c.B) / 3;
- System.Drawing.Color newColor = System.Drawing.Color.FromArgb(l, l, l);
- m_ekran.SetPixel(i, j, newColor);
- }
- }
- jasnosc.Text = "jasnosc= " + GetBrightness();
- kontrast.Text = "kontrast= " + GetContrast(GetBrightness());
- pj.Text = (GetBrightness() / 255.0 * 100).ToString("0.00") + "%";
- pk.Text = (GetContrast(GetBrightness()) / 127.5 * 100.0).ToString("0.00") + "%";
- SetBitMap(ref m_ekran);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement