Simple image viewer C# - Программа для просмотра изображений

Продолжаем позориться дальше :grin:

Возможности:

  • Создание и сохранение списка изображений.
  • Автопереключение изображений по таймеру с заданным интервалом от 100 миллисекунд до бесконечности. Интервал задаётся клавишами + / -.
  • Возможность отображения текущей картинки плиткой (tiled).
  • zoom колёсиком мыши (ага, ну просто гениально).
  • Быстрое закрытие программы щелчком в любое место изображения (работает только при отключенном режиме zoom).
  • Открывает форматы BMP, JPG, JPEG, PNG, GIF (не анимированный), TIF, JFIF, ICO.

Изначально была написана на Delphi очень давно с целью быстро открываться и быстро закрываться. Но у C# с этим проблемы.

acdsee чтоли?? В самой винде же сейчас есть просмотр картинок любого масштаба.
Тут при закрытии путь не сохраняется к файлам.

Ну как-бы да… При желании, можно найти что-то общее. Хотя, не представляю, что общего там можно найти и зачем :man_shrugging: Эта программа для другого сделана.

Насколько мне известно, там нельзя делать списки и менять режим отображения.
Нажмите правой кнопкой на окно моей программы и увидите весь список функций.
Я не знаю программ с подобным функционалом :man_shrugging: Но не утверждаю, что их нет. Даже если они есть, то сомневаюсь, что там именно такое меню как у меня. Я же под свои хотелки делал :man_shrugging:
У меня еще на клаве можно left, right, page down, page up.

Путь к последней использованной папке или какой путь? :thinking:

он самый.

А это что ?
image

Это при каком именно действии?

Это режим отображения файлов в папке. К режиму отображения картинки в самой программе просмотра это ни каким боком не относится и никак на него не влияет.

Опять пришлось смотреть код, чтобы понять как пользоваться :laughing:

Обычно такие программы должны открываться по открытию файлов соотв. типа в файловом менеджере. И загружать список из папки этого изображения.

Это ж одно и то же.
Ну и JFIF скорее тоже, даже если речь идет не о буквах в конце имени файла.
c# - Are all JPEG files JFIF? - Stack Overflow
А если о буквах, то в википедии еще jpe, jif ))

Вообще в идеале еще можно определять формат по сигнатуре и т.п. содержимого, если по расширению не получилось.

Только если на весь экран :thinking:

Ну открыл программу, потом полез искать какую то папку с фотками… перетащил фотки в программу. Так и не поняв зачем все таки это нужно закрыл программу… через некоторое время снова открыл и опять прога пустая. опять надо искать папку с картинками… закрыл - удалил.

Вообще вроде тот же эйсидиси предлагал пройтись по диску и структурировать фотки в свою базу … или может это откуда то из другого мира было … но помню что кто то предлагал.

Просто зачем дополнительный софт если можно с таким же успехом прямо в папке просмотреть фотографии. Какая фундаментальная фича у программы?? чем она должна впечатлить пользователя чтобы он начал пользоваться этим??

Это больное место всех моих программ :man_shrugging: Никто никогда не понимал, как ими пользоваться :slightly_smiling_face:
Однако, мне не ясно, какие сложности могут возникнуть при использовании вьювера картинок :thinking: Если нет кнопки “открыть”, значит используется Drag’N’drop.

Я об этом уже думал, но это было бы слишком круто и медленно. А программа задумывалась, в первую очередь, для того, чтобы быстро открываться и быстро закрываться, а не быть революционным графическим вьювером.

Ну так, оно так и есть. Если ассоциировать картинки с программой, то открывается по двойному клику по файлам и делает список файлов текущей папки.
Только thumbnals не генерирует. Если их генерировать, то понадобилось бы что-то типа ListView. А это значит, что возникнут проблемы как в этой теме

https://www.programmersforum.rocks/t/upravlenie-formoj-s-klaviatury/3289/45

Там, конечно, решилось. Но, всё-равно, работает крайне нестабильно. В любой момент может сломаться.

Так задумано. Просто в старой версии у меня этими кнопками окно перемещалось. Раньше мне это казалось очень крутой фичей. А теперь не кажется.

Ну драгндроп это обычно доп. фича.
Надо хотя бы на изначальном черном фоне инструкцию написать )

А по-моему, дроп намного логичнее и, главное, удобнее, чем делать то же самое через OpenDialog.

С точки зрения формата - одно и тоже. С точки зрения файловых ассоциаций - совершенно разная хрень.

А как, по вашему, это должно быть? У меня ещё была функция запоминания последнего списка, но в текущей версии я её ещё не сделал. Наверное, вы об этом.

О, господи! :man_facepalming: Опять эти базы! Я думал, что про эту бесполезную хрень уже давно все забыли. Это же прошлый век. А если переименовать или переместить картинки, что тогда с этой базой будет?
Если хотите некое подобие базы, то у меня есть функция создания списков с относительными путями. Делаете список картинок в той же папке, что и сами картинки и он попадает в меню ПКМ. Чем не база? :man_shrugging: Вы имеете быстрый доступ к нужным картинкам по ПКМ. А если перемещаете папку с картинками, то просто заново добавляете файл со списком в меню ПКМ (сам список сохраняется неизменным, так как пути относительные).
По-моему, вполне удобно и конфигурабельно :man_shrugging:

Я же писал:

Что-то я не помню в acdsee (а тем более во встроенной программе просмотра) таких функций :thinking: Была еще какая-то программа с “плиткой” (помню, я тогда был юн и прифигел от такой фичи), но там сохранения списков тоже не было :man_shrugging:

А программы для просмотра картинок прям самый актуальный вопрос на сегодня )))

Ну, сегодня и компьютером, в принципе, пользуются только гики и шпилюны в Доту 2 :man_shrugging:
Я знал человека, который пытался освободить место на диске, перемещая файлы в корзину :man_shrugging:

Да пользователи как правило так и делают. Это нормальная практика для рядовых работников. )))