Image viewer. Delphi + ImageEn

Максим18 лет в сервисе
Данные заказчика будут вам доступны после подачи заявки
24.04.2007

Здравствуйте, коллеги.

Просмотрщик изображений. Использовать Delphi6-7 и компоненты ImageEn (www.hicomponents.com).

Сторонние компоненты использовать только по договорённости со мной.

Для успешной реализации проекта нужно неплохое знание Delphi и английского языка.

Если это отсутствует, дальше читать можете только из любопытства :)

Опыт работы с библиотекой компонентов ImageEn очень приветствуется.

За пример взять ACDSee версий 3.х-4.х.

Проект будет являться шаблоном для дальнейшего развития, поэтому необходим качественный,

понятный код, без всяких TBitBtn1, TBitBtn2. Все компоненты должны иметь осмысленные имена,

без руссификаций вроде MoyaKnopka - это надо записать как MyBtn. Примеры вашего кода перед

началом работы над этим проектом приветствуются.

ВЕЗДЕ, ГДЕ ЗАГРУЖАЕТСЯ КАРТИНКА ИЗ ФАЙЛА, ИСПОЛЬЗОВАТЬ ПОТОКИ, НЕ ГРУЗИТЬ НАПРЯМУЮ

ИЗ ФАЙЛА, СНАЧАЛА СОЗДАТЬ TFileStream, а потом уже из него загружать. Так же поступать

с копированием и переносом файлов.

Главная форма, минимальный размер 640x480, масштабируемая.

Левая панель - TTreeView и под ним ImageEnView, ширина панели меняется с помощью TSlider.

Высота TTreeView и ImageEnView под ним - тоже.

Оставшаяся часть формы - превьюшки картинок TImageEnMView, над которой тулбар с кнопками,

glyph для кнопок будет размера 32х32 пикселя

Опционально сворачивающаяся панель справа с информацией о выбранном файле

Главное меню (набросок, реализовывать только меню Tools-Preferences):

File

New...

Open...

Edit

Select All Images

View

Image properties

Tools

Preferences - выводит окно настроек

Help

Help Contents

About

Дерево папок заполнять вручную (поиск файлов-папок - FindFirst, FindNext), не использовать специализированные компоненты для отображения файловой структуры. Дерево должно поддерживать перенос веток (папок) друг в друга методом drag&drop. Должно уметь принимать файлы методом drag&drop из Проводника Windows

PopupMenu при правом клике над деревом папок:

New Sub-folder - создание новой папки в выделенной

Rename - переименование текущей выбранной папки

Delete Folder - удаление папки со всеми содержащимися в ней файлами после положительного ответа на подтверждение

ImageEnView отображает текущую выбранную картинку из превьюшек ImageEnMView. Двойной клик на нём, как и на любой превьюшке должен включать полноэкранный просмотр. Возврат из полноэкранного просмотра - опять же, дабл кликом или клавишами Enter или Esc

Область превьюшек (ImageEnMView):

- папки не выводить, только превьюшки картинок из выбранной в дереве папки

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

- должна принимать файлы из Проводника Windows методом Drag&drop

- размер превьюшек настраиваемый (см. окно настроек)

- под каждой превьюшкой подписано имя файла

- очень желательно уметь выводить иконку 16х16 в правом и левом нижних углах превьюшек

PopupMenu при правом клике над превьюшками:

- View - полноэкранный просмотр

- Start Slideshow - запуск слайдшоу

-----------------

- Cut - вырезать файл изображения(ий) в буфер

- Copy - копировать файл изображения(ий) в буфер

- Copy Image - копировать выбранное изображение в буфер обмена

-----------------

- Copy to - копировать файл в...

- Move to - перенести файл в...

- Delete - удалить файл

- Rename - переименовать файл

-----------------

- Properties - показать панель свойств изображения, если она скрыта

Панель с параметрами изображения:

имя файла,

размер файла,

дата и время создания файла,

описание - TMemo,

прочая доступная метаинформация (в частности, из EXIF)

Окно настроек - немасштабируемое, практически на всю форму TPageControl,

пока две Page - 'Thumbnails' и 'Slide show', снизу панель с тремя кнопками -

Apply, Cancel и Restore Defaults

Настройки хранить в реестре, в ключе HKCU\Software\ImageViewer3

На странице 'Thumbnails' - настройки превьюшек. Как минимум их размер, плюс можно посмотреть,

что ещё позволяет ImageEnView и добавить в настройки.

На странице 'Slide show' - настройки слайдшоу, как минимум время задержки между сменой картинок.

Плюс переходный эффект на выбор или галочка "Random effect"

Тулбар пока пустой.

ТЗ может уточняться во время работы над проектом. Сумма, о которой договоримся,

может изменяться только в бОльшую сторону. Плюс возможно дальнейшее сотрудничество,

как по этому проекту, так и по другим.

Заявки фрилансеров