powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Image: ошибка с размерами изображения
5 сообщений из 5, страница 1 из 1
Image: ошибка с размерами изображения
    #39743031
Супер_Пав
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вечер добрый.
Есть картинка, ее размер 3024х4032. Открываю ее через Image.FromFile(imageFile), смотрю размеры и вижу, что Width = 4032, а Height = 3024. Почему так?
...
Рейтинг: 0 / 0
Image: ошибка с размерами изображения
    #39743032
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Супер_Пав,

скорее всего в EXIF поворот на 90 присутствует
...
Рейтинг: 0 / 0
Image: ошибка с размерами изображения
    #39743037
Супер_Пав
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИзопропилСупер_Пав,

скорее всего в EXIF поворот на 90 присутствует
Как это проверить? Нашел EXIF version 0221.
...
Рейтинг: 0 / 0
Image: ошибка с размерами изображения
    #39743058
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Image: ошибка с размерами изображения
    #39743063
Супер_Пав
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИзопропилСупер_Пав,

https://www.sno.phy.queensu.ca/~phil/exiftool/
спасибо за наводку. Нашел решение, может, кому пригодится:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
    Image img = Image.FromFile(sImage); 
    foreach (var prop in img.PropertyItems)
    {
        if (prop.Id == 0x0112) //value of EXIF
        {
            int orientationValue = img.GetPropertyItem(prop.Id).Value[0];
            RotateFlipType rotateFlipType = GetOrientationToFlipType(orientationValue);
            img.RotateFlip(rotateFlipType);
    
            break;
        }
    }
private static RotateFlipType GetOrientationToFlipType(int orientationValue)
{
    RotateFlipType rotateFlipType = RotateFlipType.RotateNoneFlipNone;
 
    switch (orientationValue)
    {
        case 1:
            rotateFlipType = RotateFlipType.RotateNoneFlipNone;
            break;
        case 2:
            rotateFlipType = RotateFlipType.RotateNoneFlipX;
            break;
        case 3:
            rotateFlipType = RotateFlipType.Rotate180FlipNone;
            break;
        case 4:
            rotateFlipType = RotateFlipType.Rotate180FlipX;
            break;
        case 5:
            rotateFlipType = RotateFlipType.Rotate90FlipX;
            break;
        case 6:
            rotateFlipType = RotateFlipType.Rotate90FlipNone;
            break;
        case 7:
            rotateFlipType = RotateFlipType.Rotate270FlipX;
            break;
        case 8:
            rotateFlipType = RotateFlipType.Rotate270FlipNone;
            break;
        default:
            rotateFlipType = RotateFlipType.RotateNoneFlipNone;
            break;
    }
 
    return rotateFlipType;
}
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Image: ошибка с размерами изображения
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]