Advertisement
Guest User

Untitled

a guest
Aug 18th, 2017
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.37 KB | None | 0 0
  1. WebClient wc = new System.Net.WebClient();
  2. byte[] bytes = wc.DownloadData("https://github.com/recurser/exif-orientation-examples/blob/master/Portrait_3.jpg?raw=true");
  3. MemoryStream ms = new MemoryStream(bytes);
  4. System.Drawing.Image img = System.Drawing.Image.FromStream(ms);
  5.  
  6. int idOrientacao = 0x0112; // id da propridade que contem a orientação, 247 hex.
  7. if (img.PropertyIdList.Contains(idOrientacao)) { // verificando se a imagem possui a propridade que contem a informação da orientação para imagens que não possuem EXIF.
  8. int valorOrientacao = (int) img.GetPropertyItem(idOrientacao).Value[0]; // valor que representa a orientação da imagem, tabela explicava logo abaixo.
  9. switch (valorOrientacao) {
  10. case 1:
  11. // Não precisa rotacionar
  12. break;
  13. case 2:
  14. img.RotateFlip(RotateFlipType.RotateNoneFlipX);
  15. break;
  16. case 3:
  17. img.RotateFlip(RotateFlipType.Rotate180FlipNone);
  18. break;
  19. case 4:
  20. img.RotateFlip(RotateFlipType.Rotate180FlipX);
  21. break;
  22. case 5:
  23. img.RotateFlip(RotateFlipType.Rotate90FlipX);
  24. break;
  25. case 6:
  26. img.RotateFlip(RotateFlipType.Rotate90FlipNone);
  27. break;
  28. case 7:
  29. img.RotateFlip(RotateFlipType.Rotate270FlipX);
  30. break;
  31. case 8:
  32. img.RotateFlip(RotateFlipType.Rotate270FlipNone);
  33. break;
  34. }
  35. // Aqui você remove a propridade que contem a orientação já que ela foi alterada.
  36. img.RemovePropertyItem(idOrientacao);
  37. }
  38.  
  39. 1 - A linha 0 é na parte superior da imagem visual e a coluna 0 é o lado esquerdo visual.
  40. 2 - A linha 0 é na parte superior visual da imagem, e a coluna 0 é o direito visual lado.
  41. 3 - A linha 0 é na inferior visual da imagem, e a coluna 0 é o direito visual lado.
  42. 4 - A linha 0 é na inferior visual da imagem, e a coluna 0 é o direito visual lado.
  43. 5 - A linha 0 é o lado esquerdo visual da imagem e a coluna 0 é o parte superior visual.
  44. 6 - A linha 0 é o direito visual lado a imagem e a coluna 0 é o parte superior visual.
  45. 7 - A linha 0 é o direito visual lado a imagem e a coluna 0 é o inferior visual.
  46. 8 - A linha 0 é o lado esquerdo visual da imagem e a coluna 0 é o inferior visual.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement