Ru-Board.club
← Вернуться в раздел «Программы»

» Autoplay Media Studio

Автор: Toxaaa
Дата сообщения: 20.10.2006 07:10
Добрый день учёл советы tavria2 и GOOSE по созданию автозапуска для просмотра домашнего фото и видео. С видео всё готово а вот с просмотром фотографий по выше изложеным советам хочу отказаться от PhotoCDBrowser и обеспечить просмотр стандартными средствами AMS, с помощью плагина Thumblist. С помощью GOOSE нашол где етот плагин "седит", но я не могу загрузить в него изображения в проекте делаю кнопку не клик которой пишу код с хелпа:

strFolder = Dialog.FolderBrowse("Locate Image Folder",Shell.GetFolder(SHF_MYDOCUMENTS));

if(strFolder ~= "CANCEL")then

tblImagesPng = File.Find(strFolder,"*.png");
tblImagesBmp = File.Find(strFolder,"*.bmp");
tblImagesJpg = File.Find(strFolder,"*.jpg");

nCounter = 1;
tblImages = {};

if(tblImagesPng)then
for i,fn in tblImagesPng do
tblImages[nCounter] = fn;
nCounter = nCounter + 1;
end
end
if(tblImagesBmp)then
for i,fn in tblImagesBmp do
tblImages[nCounter] = fn;
nCounter = nCounter + 1;
end
end
if(tblImagesJpg)then
for i,fn in tblImagesJpg do
tblImages[nCounter] = fn;
nCounter = nCounter + 1;
end
end

if(tblImages)then
ThumbList.AddFiles("img_list",tblImages);
if(Application.GetLastError() ~= 0)then
Dialog.Message("Error",Application.GetLastError());
end
end
end

После выбора папки с изображениями выдайт: error 1100. Подскажите пожалуйста что я делаю неправильно и как сюда загрузить изображения...
Автор: tavria2
Дата сообщения: 20.10.2006 08:38
Toxaaa

Цитата:
После выбора папки с изображениями выдайт: error 1100.

Это говорит о том, что объект с таким именем не найден.

Код: if(tblImages)then
ThumbList.AddFiles("img_list",tblImages);
if(Application.GetLastError() ~= 0)then
Dialog.Message("Error",Application.GetLastError());
end
end
Автор: Toxaaa
Дата сообщения: 20.10.2006 09:18
tavria2
Спасибо за подсказку изменив img_list на Plugin1 получил желанный результат: открываются миниатюры изображений. У меня теперь возникает ряд вопросов:
-можно ли увеличить скорость открытия миниатюр (по типу кеширования всех уменшонных изображений в один файл)?
-Как при нажатии на миниатюру увеличить её на весь екран?
Автор: tavria2
Дата сообщения: 20.10.2006 12:44
Toxaaa

Цитата:
-можно ли увеличить скорость открытия миниатюр?
-Как при нажатии на миниатюру увеличить её на весь екран?

Скорость загрузки миниатюр зависит от их кол-ва и размера. Можно попробовать организовать динамическую подгрузку, но это будет слишком геморойно.
Для увеличения на весь экран - можно сделать так: добавить страницу, на которой разместить объект Image и при клике на миниатюре делать переход на эту страницу и загружать в объект Image нужную картинку, после чего растянуть окно проекта на весь экран соответственно и картинку.

P.S. Эксперементировать нет времени.
Автор: Toxaaa
Дата сообщения: 20.10.2006 13:44
tavria2

Цитата:
Для увеличения на весь экран - можно сделать так: добавить страницу, на которой разместить объект Image и при клике на миниатюре делать переход на эту страницу и загружать в объект Image нужную картинку, после чего растянуть окно проекта на весь экран соответственно и картинку.

Тоесть я так понял етот плагин не обеспечивает масштабирование изображения?
При уменьшении разрешения фотографий 160х120 390 фотографий загружаются примерно за 5 сек. тоесть можно использовать ссылку миниатюры а оригиналы поместить в другую папку...Но как сделать масштабирование и будут ли быстро открываться оригиналы в отдельном окне ???
Автор: tavria2
Дата сообщения: 20.10.2006 14:17
Toxaaa

Цитата:
Но как сделать масштабирование и будут ли быстро открываться оригиналы в отдельном окне ???

Переходишь на страницу "предпросмотра" и изменяешь ее размер в полный экран.
Делаешь объект Image не видимым, грузишь в него картинку, получаешь размеры картинки (ширину и высоту), определяешь что больше высота или ширина и большее делишь на меньшее - получаешь масштаб. Устанавливаешь новые размеры картинки. Например, если ширина картинки больше высоты, тогда ширину картинки делаешь по ширине окна, а высоту - ширина окна деленная на полученный масштаб. Делаешь объект видимым.
На счет быстро открываться - я думаю, что будет открываться довольно быстро, т.к. работаем только с одним рисунком.
Автор: Dgikar
Дата сообщения: 20.10.2006 15:44
tavria2 & GOOSE

Господа, помогите, не пойму, где ошибка:

Код: result = Dialog.Message("Плагины для Frigate v. 3.34 Pro", "Установить плагины для Frigate v. 3.34 Pro?", MB_YESNO, MB_ICONQUESTION, MB_DEFBUTTON1);
if result == IDYes then
Folder.Create("C:\\Program Files\\Frigate3\\Plugins\\TC");
File.Open("AutoPlay\\~Distr\\Система\\Файл-Менеджеры\\Frigate v. 3.34 Pro\\Frigate v. 3.34 Pro - Плагины.exe", "AutoPlay\\~Distr\\Система\\Файл-Менеджеры\\Frigate v. 3.34 Pro", SW_SHOWNORMAL);
result = Dialog.Message("Плагины для Frigate v. 3.34 Pro", "Плагины для Frigate v. 3.34 Pro - Установлены", MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1);
else
Здесь нада "сказать" чтобы просто выйти из этого диалога, и ничего не делать
end
Автор: tavria2
Дата сообщения: 20.10.2006 15:57
Dgikar

Код: result = Dialog.Message("Плагины для Frigate v. 3.34 Pro", "Установить плагины для Frigate v. 3.34 Pro?", MB_YESNO, MB_ICONQUESTION, MB_DEFBUTTON1);
if result == IDYES then
Folder.Create("C:\\Program Files\\Frigate3\\Plugins\\TC");
File.Open("AutoPlay\\~Distr\\Система\\Файл-Менеджеры\\Frigate v. 3.34 Pro\\Frigate v. 3.34 Pro - Плагины.exe", "AutoPlay\\~Distr\\Система\\Файл-Менеджеры\\Frigate v. 3.34 Pro", SW_SHOWNORMAL);
result = Dialog.Message("Плагины для Frigate v. 3.34 Pro", "Плагины для Frigate v. 3.34 Pro - Установлены", MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1);
end
Автор: Dgikar
Дата сообщения: 20.10.2006 16:22
tavria2
Понял, спсибо
Автор: RGHKDFJGH
Дата сообщения: 22.10.2006 04:39
Только что поставил программу , ещё плохо представляю что да как , и хотел бы спросить т.к. я уже сделал в AutoRun Pro Enterprise 1 страничку - состоящую из подключаемы html страничек (фреймы). Но в AutoRun Pro Enterprise к сожалению нет очень необходимой функции на мой взгляд - это своё меню в html при клике правой клавишей мыши (там появляется стандартное конекстовое меню браузера) , вопрос возможно ли сделать СВОЁ меню по клику правой клавишей мышки на html страничке, и что бы там были функции которые есть у контекстового меню браузера : это скопировать выделенный текст в буфер , и соответственно вставить из него ?

С уважением Андрей.
Автор: tavria2
Дата сообщения: 22.10.2006 10:04
RGHKDFJGH
Чесно говоря я не знаю принципа построения проектов в AutoRun Pro Enterprise, но я предпологаю, что HTML используется в качестве оформления страницы, а не как Web объект. Если так, то в Autoplay Media Studio можно организовать мульти-страничный проект, используя различные объекты и встроенный LUA-скрипт. С помощью последнего можно организовать свое PopupMenu.
Автор: Toxaaa
Дата сообщения: 22.10.2006 10:58
tavria2

Цитата:
Переходишь на страницу "предпросмотра" и изменяешь ее размер в полный экран.
Делаешь объект Image не видимым, грузишь в него картинку, получаешь размеры картинки (ширину и высоту), определяешь что больше высота или ширина и большее делишь на меньшее - получаешь масштаб. Устанавливаешь новые размеры картинки. Например, если ширина картинки больше высоты, тогда ширину картинки делаешь по ширине окна, а высоту - ширина окна деленная на полученный масштаб.

Спасибо за алгоритм. Пробую его реализовать в коде но что-то уже запутался пожалуйста подскажите где здесь ошибки
вот код:

Window.Maximize(Application.GetWndHandle());
tWindowSize = Window.GetSize(Application.GetWndHandle());
if tWindowSize then
image_size = Image.GetSize("Image1");
if image_size.Width > image_size.Height then
m = image_size.Width/image_size.Height
Image.SetSize("Image1", image_size.Height, tWindowSize.Width/m);
if image_size.Width < image_size.Height then
m = image_size.Height/image_size.Width
Image.SetSize("Image1", tWindowSize.Height, image_size.Width/m);
Image.Load("Image1", tblInfo.filepath);
end
end
end
Автор: tavria2
Дата сообщения: 22.10.2006 14:38
Toxaaa
Алгоритм наверное прийдется менять, есть нюансы. Предлагаю следующее:
В событии двойного клика "превьюшки" (Thumblist) - скрываем окно и делаем переход на страницу, содержащую объект Image, в который будем загружать выбранную из "превьюшки" картинку. Окно скрываем для подавления вывода на экран различных ненужных артефактов, типа разворачивание окна, изменение позиции и размеров картинки и т.д.
В "прелоад'е" окна "полноэкранного просмотра", добавляем флаг, с помощью которого можно выбрать режим отображения картинки: "растягивать/оригинальный". Далее разворачиваем окно на весь экран (окно проекта должно быть без заголовка) и относительно размеров окна, устанавливаем размеры картинки и центрируем ее в окне.
При установке размеров картинки, учитываем флаг "растягивать/оригинальный". Если флаг - "оригинальный", то берем размеры из файла картинки и изменяем размеры объекта картинки, после чего нужно отцентрировать этот объект относительно окна. В остальных случаях, например при размере картинки большем, чем окно или при флаге - "растягивать" - используем ранее предложенный алгоритм для растягивания в полный экран с учетом масштабирования.
После всех этих махинаций - показываем скрытое окно. Вот и получили полноэкранный просмотр. (Написано очень много, но работает очень быстро )
Теперь нужно, как-то закрыть это окно и вернуться назад к предпросмотру.
В событиии двойного клика картинки - опять прячем окно и восстанавливаем к перврначальному размеру и делаем переход на страницу с "превьюшкой". Теперь осталось только показать скрытое окно. В событии прелоад страницы с "превьюшкой" - показываем окно. Ну вот и все! См. [more=код]
Страница с "превьюшкой" On Preload
Код: Window.Show(Application.GetWndHandle()); -- показать окно
Автор: GOOSE
Дата сообщения: 22.10.2006 19:09
tavria2

Цитата:
Ну вот и все! См. код .

Браво!
Автор: Toxaaa
Дата сообщения: 22.10.2006 20:59
tavria2
Спасибо за код всё работает, сопоставляю его с всей программой...

Добавлено:
Состыковал все части программы работает но есть нюансы которые хотелось бы доработать:
после выбора фотографии в ThumbList и просмотра её в полноекранном режиме она не выделяется в ThumbList и его прокрутка остаётся в начале попробовал сделать через

Код: ThumbList.SelectItem
Автор: tavria2
Дата сообщения: 23.10.2006 10:42
Toxaaa

Цитата:
после выбора фотографии в ThumbList и просмотра её в полноекранном режиме она не выделяется в ThumbList и его прокрутка остаётся в начале попробовал сделать через
ThumbList.SelectItem но выдиление миниатюры идёт, а прокрутка остаётся вначале что есть очень неудобно при просмотре фотографий. Возможно ли ето исправить?

Это происходит потому, что при возврате - страница заново перерисовывается и соответственно перерисовывает объекты с нуля. То, что при выделении миниатюры не работает прокрутка - это недостаток плагина . На счет возможно ли это исправить - да, но алгоритм поменяется снова . Я сейчас работаю над этим, да и не только... . Так, что прийдется немного подождать.
Автор: Toxaaa
Дата сообщения: 23.10.2006 11:03
tavria2

Цитата:
Так, что прийдется немного подождать.

Да ето ж всё не к спеху потому что "тонких местов" во всей программе много сейчас добавил поддержку Tif формата получил открытие только одного типа файлов если в папке есть фотографии разных форматов то открывается только один, сейчас пробую исправить этот недостаток...
Автор: tavria2
Дата сообщения: 23.10.2006 11:10
Toxaaa

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

Я изменил вариант с определением типов файлов - теперь будет поддержка всех графических расширений, допустимых в AMS. К тому-же и код получился в 2 раза меньше .
Автор: GOOSE
Дата сообщения: 23.10.2006 13:49
Ну и мои два цента
Это даже не другой вариант, это совсем другой принцип:
1. Делаем одну страницу, на ней плагин.
2. В папку Docs кладем шаблон fullview.html
2. Полный размер открывается в вэб окне
[more=Код:]
Вкладка On Preload

Код:
tblDisp = System.GetDisplayInfo()-- получаем таблицу размера экрана
strW = tblDisp.Width-- получаем ширину
strH = tblDisp.Height-- получаем высоту
Автор: Toxaaa
Дата сообщения: 23.10.2006 15:16
GOOSE
Cпасиба за поддержку разработки программы но возможно ли при этом методе дальнейшое масштабирование картинки (скажем изменять масштаб клавишами +, - )?
Автор: GOOSE
Дата сообщения: 23.10.2006 15:34
Toxaaa

Цитата:
возможно ли при этом методе дальнейшое масштабирование картинки (скажем изменять масштаб клавишами +, - )?

В этом виде нет, так как картинка загружается в своем ЕСТЕСТВЕННОМ размере на страничке ИЕ.
Можно усложнить пример, введя на странице приложения (а не браузера ИЕ!) дополнительную функцию масштабирования. Тогда уже и картинку мы будем грузить определенного пользователем размера.
Автор: tavria2
Дата сообщения: 23.10.2006 16:44
Ну вот и я . В продолжение темы... Посмотрите мой примерчик просмотрщика картинок.
ImageViewer.apz (738 кб).
Автор: Toxaaa
Дата сообщения: 23.10.2006 18:58
tavria2
Скачал ImageViewer версия 1.0 после запуска программа запускается но окна не вижу, наверное оно скрыто... Что делать ???
Автор: tavria2
Дата сообщения: 23.10.2006 19:04
Toxaaa

Цитата:
Скачал ImageViewer версия 1.0 после запуска программа запускается но окна не вижу, наверное оно скрыто... Что делать ???

Только, что скачал по этой ссылке - все ОК. Может он у тебя "побился" пока качал. Попробуй еще раз скачай. Хотя вряд ли, это же по сути архив - AMS бы отругал... Какая у тебя версия AMS?

P.S. Проект делал в AMS 6.0.4.0

Добавлено:
Только, что сбросил людям... в AMS 6.0.3.0 - работает без проблем.
Автор: Toxaaa
Дата сообщения: 23.10.2006 19:35
tavria2
Скачал ещё раз тоже самое появляется My Project но он скрытый, окна не вижу. Пользуюсь AMS 6.0. без руссификатора...
Автор: tavria2
Дата сообщения: 23.10.2006 20:26
Toxaaa
Попробуй этот вариант.
ImageViewer1_1.apz (742 кб).
Автор: Toxaaa
Дата сообщения: 23.10.2006 20:53
tavria2

Цитата:
Попробуй этот вариант.

Скачал но проблемма не решилась- тоже самое, сегодня закачаю AMS новее версии... Напишу что получилось...
Автор: GOOSE
Дата сообщения: 23.10.2006 22:03
tavria2
Отлично!
Пара пожеланий:
- заметно притормаживает, есть что оптимизировать?
- не ищет во вложенных папках, и об ошибке не сообщает Хотя если сделать поиск рекурсивно, тормозить будет еще больше.
- ну и совсем придираюсь цвет... слишком (ИМХО) незаметный... может поярче, поконтрастнее?

ЗЫ "Аффтару зачот, тема раскрыта"
Пример можно выкладывать?

...чую, пора раздел "Русские примеры" делать
Автор: tavria2
Дата сообщения: 23.10.2006 22:26
GOOSE

Цитата:
заметно притормаживает, есть что оптимизировать?

В какой момент притормаживает?

Цитата:
не ищет во вложенных папках, и об ошибке не сообщает Хотя если сделать поиск рекурсивно, тормозить будет еще больше.

Да, ищет только в выбранной папке, вложенные подпапки я не проверяю, хотя реализовать можно, но я не задавался целью сделать полноценный вьювер Какую он должен выдавать ошибку?

Цитата:
ну и совсем придираюсь цвет... слишком (ИМХО) незаметный... может поярче, поконтрастнее?

Я не дизайнер, у меня с этим всегда плохо было

Цитата:
Пример можно выкладывать?

Можно. И в дальнейшем можешь выкладывать без моего согласия

Цитата:
чую, пора раздел "Русские примеры" делать

Пора, пора...
Автор: Toxaaa
Дата сообщения: 24.10.2006 00:06
GOOSE

Цитата:
- ну и совсем придираюсь цвет... слишком (ИМХО) незаметный... может поярче, поконтрастнее?

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

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667

Предыдущая тема: Matrix Screensaver


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.