[IMAGE] Просмотр, масштабирование и скроллинг картинок

Опубликовал Сергей (Che) Коцюра (CheBurator) в раздел Программирование - Работа с интерфейсом

Доработанный и исправленный рабочий пример к сабжу http://www.infostart.ru/profile/1782/projects/1747/

За основу взят пример, приведенный по ссылке. Переделан интерфейс на более изящный (имхо), убрал всякое лишнее по коду, исправлены имевшиеся ошибки, совсем чуток универсальности добавил, добавлен новый функционал, добавил автомасштабирование по высоте/ширине при открытии картинки, добавил прием и передачу параметров - можно юзать просто как смотрелку (передав на вход имя), при "выборе" картинки - передавать наружу выбранное имя файла, плюс прочее по мелочи...
В чем фишка? - читаем оригинальную ссылку!!!

Скачать файлы

Наименование Файл Версия Размер
-
.1215539733 189,00Kb
27.02.13
302
.1215539733 189,00Kb 302 Скачать

См. также

Добавить вознаграждение
Комментарии
1. Maljaev (maljaev) 09.07.08 13:29 Сейчас в теме
Блин, грех такой дэвушке плюс не поставить :)
2. Сhe Burashka (CheBurator) 09.07.08 13:34 Сейчас в теме
Вот он - социальный инжиниринг - в действии! ;-)
3. Владимир (hogik) 415 09.07.08 14:02 Сейчас в теме
(2)(Сhe Burashka)
“социальный инжиниринг - в действии”
Минус – однозначно. Не охвачена женская аудитория. А брюнетки где?
4. Сhe Burashka (CheBurator) 09.07.08 15:08 Сейчас в теме
По зщаявкам телерадиослушателей добавлены в экзамплы брюнетки
5. Владимир (hogik) 415 09.07.08 15:41 Сейчас в теме
(4)
;-))) Осталось добавить фотографии мужчин для охвата 100% аудитории, т.е. и женской половины человечества.
6. Сhe Burashka (CheBurator) 09.07.08 15:45 Сейчас в теме
(5) Янадеюсь вы это не для себя лично ;-)
8. Владимир (hogik) 415 09.07.08 16:06 Сейчас в теме
(6)
Нет. За женщин обидно.
Для меня лично хватило 25% от всех фотографий женщин. Кажется, так распределяется интерес мужчин к блондинкам и брюнеткам.
9. Владимир (hogik) 415 09.07.08 16:11 Сейчас в теме
(7)
Интересный глюк. Это я скопировал из MS Word текст, где использовал: “ 1 / 4 “. Только без пробелов вокруг дроби.
10. Сhe Burashka (CheBurator) 09.07.08 16:35 Сейчас в теме
(9) а я думал это вас так от брюнетости торкнуло...
11. Олег Пономаренко (O-Planet) 6632 10.07.08 00:15 Сейчас в теме
Плюс однозначно. Это очень гут, когда кто-то, кто могёт, выправляет чьи-то обработки и публикует. Часто хорошая идея так и не доходит до зрителей только из-за того, что генератор идеи не имел достаточно времени, желания, опыта - её профессионально воплотить. В данном случае, хоть отчасти Чебуратор и в соавторство набился, но я бы всегда был только "за" подобного сотрудничества.

ПС Чуть не передумал плюсовать, когда прочитал, что сперва не было фотки брюнетки. Мастерство-мастерством, но всё ж...
12. Сhe Burashka (CheBurator) 10.07.08 01:04 Сейчас в теме
такс... чувствую возьму формекс и сделаю в 1Сине миниакдси...
13. Василий (ded00786) 348 10.07.08 09:35 Сейчас в теме
ГЫ)) Прям гарем какой-то)))
Ставлю плюс ни за девушек, ни за идею, а за качество исполнения
Есть к чему стремиться...
14. Аркадий Кучер (Abadonna) 3648 10.07.08 10:04 Сейчас в теме
(7)> :-) ¬Ї¬Ц¬д.
> ¬©¬С ¬Ш¬Ц¬Я¬л¬Ъ¬Я ¬а¬Т¬Ъ¬Х¬Я¬а. :-(((
А где травку берешь? ;)
15. Юрий Португалов (Sprite) 471 14.07.08 13:08 Сейчас в теме
Картинки = СоздатьОбъект("GFLAx.GFLAx");
{C:\......................\CHE_FOTOVIEWER.ERT(172)}: Неудачная попытка создания объекта (GFLAx.GFLAx)
16. Юрий Португалов (Sprite) 471 14.07.08 13:26 Сейчас в теме
17. Сhe Burashka (CheBurator) 14.07.08 13:41 Сейчас в теме
18. Сhe Burashka (CheBurator) 15.07.08 00:36 Сейчас в теме
на неделе придется прикрутить распечатку картинки...
19. Александр (DUST) 20.08.08 02:06 Сейчас в теме
Хотел прикрутить эту фичу к документу, но напоролся на такую строчку
РасположениеФайла(,лИмя);
и далее
Картинки.SaveBitmap(КаталогВременныхФайлов()+"_"+лИмя+"_blank.bmp");
Фрагмент.Загрузить(КаталогВременныхФайлов()+"_"+лИмя+"_blank.bmp");
Подскажите как можно обойтись без этого?
20. Сhe Burashka (CheBurator) 20.08.08 02:20 Сейчас в теме
> Подскажите как можно обойтись без этого?
ответ: перепрограммировать как считаешь нужным...
РасположениеФайла(,лИмя); - в переменной лИмя получает имя выполняющейся обработки;
остальные 2 строки - что именно вызывает вопрос? чем не нравится?
21. Александр (DUST) 22.08.08 04:28 Сейчас в теме
В том то и дело что РасположениеФайла работает только из обработки ("..Данный метод следует использовать только в модуле формы внешнего отчета.)
В документе сразу указывает на ошибку
И соответственно следующие 2 строки без лИмя не могут обойтись
22. Сhe Burashka (CheBurator) 22.08.08 11:47 Сейчас в теме
напиши просто:
имяТемпФайла =_getPerformanceCounter()+"_blank.bmp";
Картинки.SaveBitmap(КаталогВременныхФайлов()+имяТемпФайла);
Фрагмент.Загрузить(КаталогВременныхФайлов()+имяТемпФайла);
23. Maljaev (maljaev) 28.08.08 21:40 Сейчас в теме
Сhe Burashka, можно я тут немного порекламирую? После того, как ты мне немножко сбил рейтинг своей версией просмотрщика, я тут решил наклепать нечто посерьезнее. Я долго сидел и потел, но все-таки мне хватило терпения, чтобы родить вот это чудо на 2000 строк кода: http://infostart.ru/projects/2439/ Надеюсь, гонка вооружения на этом закончиться? ;) Сорри...
24. Сhe Burashka (CheBurator) 28.08.08 22:47 Сейчас в теме
(23) о чем речь, конечно можно... какая гонка вооружений? ;-) надеюсь, в мегабраузере убрал ошибки, которые я мсправил в своем просмотрщике?
25. Сhe Burashka (CheBurator) 28.08.08 22:48 Сейчас в теме
к этой я только печать прикручу еще и все...
26. Maljaev (maljaev) 29.08.08 09:42 Сейчас в теме
(24) смотря что считать ошибкой... если насчет скроллинга картинки - то проанализировав работу со скроллингом ACDSee и иже с ним, я все же решил, что мой метод скроллинга традиционнее.
27. Сhe Burashka (CheBurator) 29.08.08 12:05 Сейчас в теме
ошибка она и есть ошибка... ;-) к методу скроллинга отношения не имеет...
28. Равиль Каримов (karaw) 124 14.04.09 14:39 Сейчас в теме
Есть предложение усовершенствования обработки с возможностью перелистывания многостраничных tif-файлов
29. Сhe Burashka (CheBurator) 14.04.09 16:59 Сейчас в теме
(28) можно, но ввиду малой востребованности лично для меня формата тифф - в чем конкретно выражается предложение? ;-)
30. Тарас Лохтин (Одинец) 240 31.10.09 21:00 Сейчас в теме
так что же делать с: "Картинки = СоздатьОбъект("GFLAx.GFLAx");
CHE_FOTOVIEWER.ERT(172)}: Неудачная попытка создания объекта (GFLAx.GFLAx)
31. Сергей (Che) Коцюра (CheBurator) 3366 01.11.09 08:52 Сейчас в теме
(30) идем по ссылочке в самом верху описания (http://www.infostart.ru/public/15599/) - качаем и устанавливаем библиотеку...
32. denissimo599 29.06.10 10:32 Сейчас в теме
25. Сhe Burashka 28.08.2008 22:48 Пожаловаться
к этой я только печать прикручу еще и все...


я, конечно, кладоискатель :) но все же спрошу:
спустя почти два года печать таки появилась?
33. Сергей (Che) Коцюра (CheBurator) 3366 29.06.10 12:57 Сейчас в теме
(32) лично мне печать отсюда - не востребована, а на доработку - "социального" заказа не поступало... ;-)
34. Дмитрий Кузнецов (cushe) 1 28.10.11 11:29 Сейчас в теме
Почему сразу не указаны используемые внешние компоненты.
35. Alex (AlexF1) 29.12.11 12:38 Сейчас в теме
37. Василий Орлов (Bublik2011) 9 10.10.14 09:57 Сейчас в теме
Проблем применения библиотеки нет..

ИмяФайла="c:\temp\logo.jpg";
ФайлК=Новый Файл(ИмяФайла);               
GFLAx = Новый COMОбъект("GFLAx.GFLAx");
GFLAx.LoadBitmap(ИмяФайла);
GFLAx.SaveBitmap(ИмяФайла);
...Показать Скрыть


..из товара получаю фото:

Картинка = Ссылка.ОсновноеИзображение.Хранилище.Получить().Записать("c:\logo.jpg");



Вопрос: можно без записи на диск временного файла ,сразу обработать объект Ссылка.ОсновноеИзображение.Хранилище.Получить() ?

Картинка = Ссылка.ОсновноеИзображение.Хранилище.Получить();

GFLAx.LoadBitmap(Картинка );
GFLAx.SaveBitmap(ИмяФайла);[/1C-CODE]
38. Василий Орлов (Bublik2011) 9 10.10.14 11:08 Сейчас в теме
(37)

Нашел выход из ситуации, чуть было не стал внешнюю компоненту применять.
Если ЗагрузитьВнешнююКомпоненту(КаталогИБ() + "Base64.dll")=0 Тогда
		Сообщить("Не удается загрузить Base64.dll!");
		Возврат;
	Иначе
		Сообщить("Удалось загрузить Base64.dll!");	
	КонецЕсли;
...Показать Скрыть


В 8.2 есть метол Base64Строка Base64Значение

Кодированное=Base64Строка(Новый ДвоичныеДанные(ИмяФайла));
Двоичное=Base64Значение(Бинарное);



Вот ответ на мой вопрос http://www.xnview.com/wiki/index.php?title=GFL_SDK&action=pdfbook&follow=breadth