Я работаю над утилитой для обработки изображений. Требование состоит в том, чтобы повернуть изображение, обновив его метаданные (информацию exif). Я пытался сделать то же самое, но не удалось. Пожалуйста, предложите несколько указателей?
Вращение изображения путем обновления его метаданных или информации EXIF
Ответы (2)
Это нужно будет сделать с помощью ручного процесса, а не данных EXIF.
Под ручным я подразумеваю перемещение пикселей. Вы можете найти в Интернете примеры того, как это сделать, используя вспомогательные классы, возможно, .NET Framework, в зависимости от того, на какой платформе вы разрабатываете.
Пример: http://www.switchonthecode.com/tutorials/csharp-tutorial-image-editing-rotate
Насколько я понимаю, вы не хотите на самом деле преобразовывать изображение и вращать его пиксельные данные, а вместо этого «отображать» его повернутым.
Я никогда не думал об этом раньше и не знаком с EXIF и т. Д. Но мне пришло в голову.
Отображение ориентации в браузере
Самое сложное — это отобразить его в браузере.
Вот несколько запросов на добавление функций, обсуждающих соблюдение ориентации в браузерах:
firefox: https://bugzilla.mozilla.org/show_bug.cgi?id=298619< /а>
chrome: http://code.google.com/p/chromium/issues/detail?id=56845
Я не читал эти запросы полностью, поэтому я не уверен точно в их статусе, но может быть интересно прочитать для вас.
Получение данных EXIF
Если браузер не поддерживает встроенную ориентацию EXIF (что, вероятно, не поддерживает), сначала вам нужно получить данные EXIF, вы можете сделать это на стороне клиента, просмотрев необработанные двоичные данные, извлекаемые с сервера. ..
Но я предполагаю, что сделать это на стороне сервера было бы намного проще.
Вот библиотека ac# для получения данных EXIF http://www.codeproject.com/KB/graphics/exifextractor.aspx Правда, я его не нашел, это обсуждалось здесь: Как получить данные EXIF из файла с помощью C#
Вы могли бы либо
- Поверните его вручную с помощью кода на стороне сервера (фактически манипулируя пикселями - вероятно, для этого существует множество библиотек, вероятно, встроенных в .net)
- Используя Flash, поверните его (на самом деле, я думаю, что Flash может напрямую читать EXIF)
- Использование холста HTML для поворота (возможно, с помощью поворота jquery или чего-то подобного)