Комментарии 20
НЛО прилетело и опубликовало эту надпись здесь
Мне тоже в один прекрасный момент потребовалось использовать встроенные в WPF конструкты для работы с изображениями. Действительно, товар сыроват, и хотя возможность рендерить любой XAML-контент в битмап это хорошая возможность, но количество «подводных камней» просто поражает.
Спасибо за пост, ждем следующих.
Спасибо за пост, ждем следующих.
0
Да, я тоже слышал о такой возможности, но пока не доводилось пробовать пользоваться.
А топик вызвал очень противоречивую реакцию, собрал уже 12 минусов ) Наверное ненавистники .NET технологии отыгрываются.
А топик вызвал очень противоречивую реакцию, собрал уже 12 минусов ) Наверное ненавистники .NET технологии отыгрываются.
0
Пишите ещё! Как минимум — по одному топику мало оценивать очевидность описываемых вещей…
А что касается данной статьи — то для меня было очень интересно в связи с актуальностью задачи, нужно было написать тулзу для прописывания EXIF-данных для последующего их считывания на php. Нашёл море примеров как читать метаданные (облазил www.codeproject.com), но не нашёл как записывать их. Спасибо вам за пример, сегодня попробую!
А что касается данной статьи — то для меня было очень интересно в связи с актуальностью задачи, нужно было написать тулзу для прописывания EXIF-данных для последующего их считывания на php. Нашёл море примеров как читать метаданные (облазил www.codeproject.com), но не нашёл как записывать их. Спасибо вам за пример, сегодня попробую!
0
Спасибо! Рад, что кому-то информация пригодилась :) Для этого писал.
Дальше планировал написать о создании темплейтов, на примере листбокса, т.к. сам немало времени убил, чтобы заставить его отображать все так, как мне надо :) По ходу этого процесса неплохо разобрался в принципах создания темплейтов вообще.
Еще (на отдельный топик не тянет) немного о многопоточности хотел рассказать, там есть пара тонкостей (о многопоточности вообще есть целая хорошая статья на русском, гуглится на раз-два, но есть именно пара моментов, которые не так просты и очевидны).
Какая тематика вам вообще больше интересна?
Дальше планировал написать о создании темплейтов, на примере листбокса, т.к. сам немало времени убил, чтобы заставить его отображать все так, как мне надо :) По ходу этого процесса неплохо разобрался в принципах создания темплейтов вообще.
Еще (на отдельный топик не тянет) немного о многопоточности хотел рассказать, там есть пара тонкостей (о многопоточности вообще есть целая хорошая статья на русском, гуглится на раз-два, но есть именно пара моментов, которые не так просты и очевидны).
Какая тематика вам вообще больше интересна?
0
>Какая тематика вам вообще больше интересна?
Полноценные темплейты были бы действительно интересны.
>немного о многопоточности хотел рассказать, там есть пара тонкостей (о многопоточности вообще есть целая хорошая статья на русском, гуглится на раз-два…
Многопоточность в WPF? Она ведь запрещена в WPF, поскольку приложение работате STAThread, а вся синхронизация работы с другими потоками осуществляется через Dispatcher… Или я чего упустил?
Полноценные темплейты были бы действительно интересны.
>немного о многопоточности хотел рассказать, там есть пара тонкостей (о многопоточности вообще есть целая хорошая статья на русском, гуглится на раз-два…
Многопоточность в WPF? Она ведь запрещена в WPF, поскольку приложение работате STAThread, а вся синхронизация работы с другими потоками осуществляется через Dispatcher… Или я чего упустил?
0
С многопоточностью тоже столкнулся, когда писал программу выгрузки дампа базы на хостинг-сервер, тоже было прочитано не мало статей ))
А вот с темплейтами не разбирался, было бы интересно почитать!
А вот с темплейтами не разбирался, было бы интересно почитать!
0
Статью бы да пол года назад))))) Сам через все прошел — тогда думал что задачка на пол часа оказалась значительно больше.
InPlaceMetadataWriter тогда не заметил — это полезная новая информация — буду смотреть на днях. Спасибо.
От себя хочу добавить что многие программы берут что-то одно из XMP, IPTC и EXIF и плюют на приоритеты. Потому в своем софте при записи я пишу (а мне надо было работать с ключевыми, заголовком и описаниями) три раза в каждый формат явно иначе если файл был создан другой программой а я изменил метаданные — то могут получиться противоречивые метаданные.
InPlaceMetadataWriter тогда не заметил — это полезная новая информация — буду смотреть на днях. Спасибо.
От себя хочу добавить что многие программы берут что-то одно из XMP, IPTC и EXIF и плюют на приоритеты. Потому в своем софте при записи я пишу (а мне надо было работать с ключевыми, заголовком и описаниями) три раза в каждый формат явно иначе если файл был создан другой программой а я изменил метаданные — то могут получиться противоречивые метаданные.
0
У меня все тоже самое. Пишу во всех форматах. И нужны тоже ключевики, заголовок и описание. Ну и еще служебная инфа, ее пишу в user comment в экзифе.
Про приоритеты писал касательно именно BitmapMetadata — он читает все три варианта метаданных.
А другие программы кто в лес кто по дрова. Чаще всего берут только экзиф или только iptc.
Про приоритеты писал касательно именно BitmapMetadata — он читает все три варианта метаданных.
А другие программы кто в лес кто по дрова. Чаще всего берут только экзиф или только iptc.
0
Спасибо, полезная информация.
0
Пишите, пожалуйста, и побольше.
0
Офигенная статья! Пишите больше!
0
Я некоторое время назад тоже столкнулся с необходимостью читать тэги из jpg. Провозился пару дней в поисках готовых натинвых решений на c#. Потом плюнул, скачал exiftool и написал за пару часов обертку. О своем выборе не жалею.
0
Кстати
Провозился всю ночь с вот этими строками:
Пока явно не указал тип uint для 2048
Провозился всю ночь с вот этими строками:
metadata.SetQuery("/app1/ifd/PaddingSchema:Padding", 2048);
metadata.SetQuery("/app1/ifd/exif/PaddingSchema:Padding", 2048);
metadata.SetQuery("/xmp/PaddingSchema:Padding", 2048);
Пока явно не указал тип uint для 2048
0
И еще
В статье не правильная ссылка на перечень запросов, сейчас она находится тут
Но и даже по этой ссылке нет еще одного нужного запроса:
Запись в поле Object Name
Хотя многие программы предпочитают именно это поле в качестве названия изображения
В статье не правильная ссылка на перечень запросов, сейчас она находится тут
Но и даже по этой ссылке нет еще одного нужного запроса:
metadata.SetQuery(@"/app13/irb/8bimiptc/iptc/Object Name", Title);
Запись в поле Object Name
Хотя многие программы предпочитают именно это поле в качестве названия изображения
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Работа с метаданными изображений в WPF