Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- WebClient wc = new System.Net.WebClient();
- byte[] bytes = wc.DownloadData("https://github.com/recurser/exif-orientation-examples/blob/master/Portrait_3.jpg?raw=true");
- MemoryStream ms = new MemoryStream(bytes);
- System.Drawing.Image img = System.Drawing.Image.FromStream(ms);
- int idOrientacao = 0x0112; // id da propridade que contem a orientação, 247 hex.
- 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.
- int valorOrientacao = (int) img.GetPropertyItem(idOrientacao).Value[0]; // valor que representa a orientação da imagem, tabela explicava logo abaixo.
- switch (valorOrientacao) {
- case 1:
- // Não precisa rotacionar
- break;
- case 2:
- img.RotateFlip(RotateFlipType.RotateNoneFlipX);
- break;
- case 3:
- img.RotateFlip(RotateFlipType.Rotate180FlipNone);
- break;
- case 4:
- img.RotateFlip(RotateFlipType.Rotate180FlipX);
- break;
- case 5:
- img.RotateFlip(RotateFlipType.Rotate90FlipX);
- break;
- case 6:
- img.RotateFlip(RotateFlipType.Rotate90FlipNone);
- break;
- case 7:
- img.RotateFlip(RotateFlipType.Rotate270FlipX);
- break;
- case 8:
- img.RotateFlip(RotateFlipType.Rotate270FlipNone);
- break;
- }
- // Aqui você remove a propridade que contem a orientação já que ela foi alterada.
- img.RemovePropertyItem(idOrientacao);
- }
- 1 - A linha 0 é na parte superior da imagem visual e a coluna 0 é o lado esquerdo visual.
- 2 - A linha 0 é na parte superior visual da imagem, e a coluna 0 é o direito visual lado.
- 3 - A linha 0 é na inferior visual da imagem, e a coluna 0 é o direito visual lado.
- 4 - A linha 0 é na inferior visual da imagem, e a coluna 0 é o direito visual lado.
- 5 - A linha 0 é o lado esquerdo visual da imagem e a coluna 0 é o parte superior visual.
- 6 - A linha 0 é o direito visual lado a imagem e a coluna 0 é o parte superior visual.
- 7 - A linha 0 é o direito visual lado a imagem e a coluna 0 é o inferior visual.
- 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