Advertisement
Guest User

Untitled

a guest
Dec 15th, 2019
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.32 KB | None | 0 0
  1. //-----------------------------------------------//
  2. using System.Linq;
  3. namespace Graf_kom
  4. {
  5. public partial class f_graf_kom
  6. {
  7.  
  8. //------------------
  9. //------------------
  10. public void Efekt1()
  11. {
  12. //efekt: zsuwanie się obrazu w dół
  13.  
  14. if (p >= L) p = 0; //zapetlanie efektu
  15.  
  16. for (int j = 1; j <= p; j++)
  17. {
  18. for (int i = 1; i <= K; i++)
  19. ReadTlo(N);
  20. }
  21.  
  22. for (int j = 1; j <= L-p; j++)
  23. {
  24. for (int i = 1; i <= K; i++)
  25. ReadPixel(i, j);
  26. }
  27. }
  28.  
  29. //------------------
  30. //------------------
  31. public void Efekt2()
  32. {
  33. //efekt: przewijanie się obrazu z lewa na prawo
  34.  
  35. if (p >= L) p = 0;
  36.  
  37. for (int j = 1; j <= L; j++)
  38. {
  39. for (int i = 1 + p; i <= K; i++)
  40. ReadPixel(i, j);
  41.  
  42. for (int i = 1; i <= p; i++)
  43. ReadPixel(i, j);
  44. }
  45. }
  46.  
  47. //------------------
  48. //------------------
  49. public void Efekt3()
  50. {
  51. //efekt: rozchodzenie się obrazu w 4 częściach po przekątnych
  52. // if (p >= L) p = 0; //zapetlanie efektu
  53.  
  54. for (int j = L; j >= L-p; j--)
  55. {
  56. for (int i = K; i >= K-p; i--)
  57. ReadPixel(i, j);
  58. for (int i = 1; i >= K-p; i++)
  59. ReadTlo(N);
  60.  
  61. }
  62.  
  63.  
  64. for (int j = 1; j <= L-p; j++)
  65. {
  66. for (int i = K-p; i < K; i++)
  67. ReadTlo(N);
  68. for (int i = 1; i <= K - p; i++)
  69. ReadPixel(i, j);
  70. }
  71.  
  72. }
  73. /*
  74. if (p >= L / 2) p = 0;
  75.  
  76. for (int j = 1 + p; j <= L / 2; j++)
  77. {
  78. for (int i = 1 + p; i <= K / 2; i++)
  79. ReadPixel(i, j);
  80.  
  81. for (int i = 1; i <= 2 * p; i++)
  82. ReadTlo(N);
  83.  
  84. for (int i = K / 2 + 1; i <= K - p; i++)
  85. ReadPixel(i, j);
  86. }
  87.  
  88. for (int j = 1; j <= 2 * p; j++)
  89. {
  90. for (int i = 1; i <= K; i++)
  91. ReadTlo(N);
  92. }
  93.  
  94. for (int j = L / 2 + 1; j <= L - p; j++)
  95. {
  96. for (int i = 1 + p; i <= K / 2; i++)
  97. ReadPixel(i, j);
  98.  
  99. for (int i = 1; i <= 2 * p; i++)
  100. ReadTlo(N);
  101.  
  102. for (int i = K / 2 + 1; i <= K - p; i++)
  103. ReadPixel(i, j);*/
  104.  
  105. //------------------
  106. //------------------
  107.  
  108. public void Zmien_obraz()
  109. {
  110. System.Drawing.Color pixel;
  111.  
  112. for (int j = 1; j <= L; j++)
  113. for (int i = 1; i <= K; i++)
  114. {
  115. pixel = m_obraz_w_pamieci.GetPixel(i - 1, j - 1);
  116.  
  117. //--------------------------------------//
  118. //miejsce na kod dokonujący zmianę obrazu
  119.  
  120. pixel = System.Drawing.Color.FromArgb(pixel.R, pixel.G, pixel.B);
  121.  
  122. //--------------------------------------//
  123.  
  124. m_ekran.SetPixel(i - 1, j - 1, pixel);
  125. }
  126.  
  127. SetBitMap(ref m_ekran);
  128. }
  129. public void ZmienObraz(int value)
  130. {
  131.  
  132. for (int j = 0; j < L; j++)
  133. {
  134. for (int i = 0; i < K; i++)
  135. {
  136. System.Drawing.Color pixel = m_obraz_w_pamieci.GetPixel(i, j);
  137. int[] rgb = { pixel.R, pixel.G, pixel.B };
  138.  
  139. for (int x = 0; x < rgb.Length; x++)
  140. {
  141. rgb[x] += value;
  142. if (rgb[x] > 255)
  143. rgb[x] = 255;
  144. if (rgb[x] < 0)
  145. rgb[x] = 0;
  146.  
  147. }
  148. m_ekran.SetPixel(i, j, System.Drawing.Color.FromArgb(rgb[0], rgb[1], rgb[2]));
  149.  
  150. }
  151. }
  152. for (int j = 0; j < L; j++)
  153. {
  154. for (int i = 0; i < K; i++)
  155. {
  156. System.Drawing.Color pixel = m_ekran.GetPixel(i, j);
  157. int[] rgb = { pixel.R, pixel.G, pixel.B };
  158. }
  159. }
  160. SetBitMap(ref m_ekran);
  161. }
  162. public void zmienKontrast(float Value)
  163. {
  164.  
  165.  
  166. for (int i = 0; i < 100; i++)
  167. {
  168. for (int j = 0; j < 100; j++)
  169. {
  170. System.Drawing.Color Pixel = m_obraz_w_pamieci.GetPixel(i, j);
  171.  
  172. float Red = Pixel.R / 255.0f;
  173. float Green = Pixel.G / 255.0f;
  174. float Blue = Pixel.B / 255.0f;
  175. Red = (((Red - 0.5f) * Value) + 0.5f) * 255.0f;
  176. Green = (((Green - 0.5f) * Value) + 0.5f) * 255.0f;
  177. Blue = (((Blue - 0.5f) * Value) + 0.5f) * 255.0f;
  178.  
  179. int iR = (int)Red;
  180. iR = iR > 255 ? 255 : iR;
  181. iR = iR < 0 ? 0 : iR;
  182. int iG = (int)Green;
  183. iG = iG > 255 ? 255 : iG;
  184. iG = iG < 0 ? 0 : iG;
  185. int iB = (int)Blue;
  186. iB = iB > 255 ? 255 : iB;
  187. iB = iB < 0 ? 0 : iB;
  188.  
  189. m_ekran.SetPixel(i, j, System.Drawing.Color.FromArgb(iR, iG, iB));
  190. }
  191. }
  192. SetBitMap(ref m_ekran);
  193.  
  194. }
  195. public void Zadanie1A()
  196. {
  197. for (int j = 0; j < L; j++)
  198. {
  199. for (int i = 0; i < K; i++)
  200. {
  201. System.Drawing.Color c = m_obraz_w_pamieci.GetPixel(i, j);
  202. int[] arr = { c.R, c.G, c.B };
  203.  
  204. int l = (arr.Max() + arr.Min()) / 2;
  205. System.Drawing.Color newColor = System.Drawing.Color.FromArgb(l, l, l);
  206. m_ekran.SetPixel(i, j, newColor);
  207. }
  208. }
  209. jasnosc.Text = "jasnosc= " + GetBrightness();
  210. kontrast.Text = "kontrast= " + GetContrast(GetBrightness());
  211. pj.Text = "0%";
  212. pk.Text = "0%";
  213.  
  214. SetBitMap(ref m_ekran);
  215. }
  216. public void Zadanie1B()
  217. {
  218. for (int j = 0; j < L; j++)
  219. {
  220. for (int i = 0; i < K; i++)
  221. {
  222. System.Drawing.Color c = m_obraz_w_pamieci.GetPixel(i, j);
  223. int[] arr = { c.R, c.G, c.B };
  224. int l = arr.Max();
  225. System.Drawing.Color newColor = System.Drawing.Color.FromArgb(l, l, l);
  226. m_ekran.SetPixel(i, j, newColor);
  227. }
  228. }
  229. jasnosc.Text = "jasnosc= " + GetBrightness();
  230. kontrast.Text = "kontrast= " + GetContrast(GetBrightness());
  231. pj.Text = "0%";
  232. pk.Text = "0%";
  233.  
  234. SetBitMap(ref m_ekran);
  235. }
  236. public void Zadanie1C()
  237. {
  238. for (int j = 0; j < L; j++)
  239. {
  240. for (int i = 0; i < K; i++)
  241. {
  242. System.Drawing.Color c = m_obraz_w_pamieci.GetPixel(i, j);
  243. int l = (c.R + c.G + c.B) / 3;
  244. System.Drawing.Color newColor = System.Drawing.Color.FromArgb(l, l, l);
  245. m_ekran.SetPixel(i, j, newColor);
  246. }
  247. }
  248. jasnosc.Text = "jasnosc= " + GetBrightness();
  249. kontrast.Text = "kontrast= " + GetContrast(GetBrightness());
  250. pj.Text = (GetBrightness() / 255.0 * 100).ToString("0.00") + "%";
  251. pk.Text = (GetContrast(GetBrightness()) / 127.5 * 100.0).ToString("0.00") + "%";
  252. SetBitMap(ref m_ekran);
  253. }
  254. }
  255. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement