Управление изображениями

Тема в разделе "Lotus + Java + LS2J", создана пользователем KingGLEB, 8 май 2008.

Наш партнер Genesis Hackspace
  1. KingGLEB

    KingGLEB Active Member

    Регистрация:
    8 май 2008
    Сообщения:
    30
    Симпатии:
    0
    Есть документ. Хочется выводить туда фото. Фото распаковывается в %Temp%\Foto.jpg. Как можно изменить размер картинки при выводе её в документ?
    Если использовать

    <img src="file://C:\Windows\Temp\Foto.jpg"/>

    то картинка выводится в полный рост, а если

    <img src="file://C:\Windows\Temp\Foto.jpg" width=10 height=10 />

    то лотус игнорирует указанные размеры и выводит в том размере в котором есть. Как масштабировать? Кто подскажет решение без внешних ресайзеров?
     
  2. Sandr

    Sandr Гость

    а если значения в кавычки брать?
     
  3. KingGLEB

    KingGLEB Active Member

    Регистрация:
    8 май 2008
    Сообщения:
    30
    Симпатии:
    0
    И с ними и без них результат одинаковый. :(
     
  4. Sandr

    Sandr Гость

    Вопросы:
    1. Клиент тонкий или толстый
    2. Картинку внедряете прямо на форму? Или еще как-нить?
     
  5. KingGLEB

    KingGLEB Active Member

    Регистрация:
    8 май 2008
    Сообщения:
    30
    Симпатии:
    0
    1. Клиент толстый.
    2. В форме есть таблица, а в одной из ячеек этой таблицы есть хтмл тэг, приведенный выше.

    Рассмотрю любые другие варианты вывода картинки с определенными размерами.
     
  6. NetWood

    NetWood Well-Known Member
    Lotus team

    Регистрация:
    17 апр 2008
    Сообщения:
    348
    Симпатии:
    6
    Хм. Фраза "лотус игнорирует" напрягает. Игнорирует где? В вебе? Так там лотус не причем. Он код выдает в браузер и браузер показывает.
    В клиенте такие вертеля вообще не катят...

    Я делаю так для веба. Два поля. Одно для мелкой картинки и показываю ее так
    http://codeby.net/forum/threads/21397s60.html...mp;#entry105957
    В основном доке большую картинку, а мелкую скрываю галкой от WEB.
    Все картинки надо заранее готовить под размер.
     
  7. fedotxxl

    fedotxxl Well-Known Member

    Регистрация:
    9 ноя 2005
    Сообщения:
    614
    Симпатии:
    0
    Привет,
    нужно при помощи LS изменять изображение jpeg (добавить текст, например). Может кто помочь в документации? OLE / DLL?
     
  8. nvyush

    nvyush Well-Known Member
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    Наверное, лучше использовать LS2J и java-библиотеки.
     
  9. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.238
    Симпатии:
    313
    по-мне адназначна - java :)
    зависимо от жвм... берем либо штатный энкодер-декодер, либо заморачиваемся на доп.
    для манипуляций юзаем всякие 2D фичи
    начать можно отседова http://www.javaportal.ru/java/articles/imgfotofilter.html , в конце ссылка на sun

    ежели речь прокапчу ;) - http://jcaptcha.sourceforge.net/

    вот замбнейлер http://searchdomino.techtarget.com/tip/0,2...03_mem1,00.html
    зарегаться надо, для прочтения
    прям весь бридж расписан (в том числе с кодером/декодером), осталось для работы с текстом расширить
     
  10. turumbay

    Регистрация:
    13 мар 2009
    Сообщения:
    625
    Симпатии:
    2
  11. K-Fire

    K-Fire Гость

    ImageMagick.

    Вроде в составе есть функция которая именно добавляет текст в изображение. Вызываем с помощью командной строки.
     
  12. alik86

    alik86 Well-Known Member
    Lotus team

    Регистрация:
    20 ноя 2008
    Сообщения:
    465
    Симпатии:
    1
    > #6
    Т.е. наиболее верным подходом будет не извращаться с автоматическим подгоном картинки под нужные размеры, а просто проверить ее размер и, если он не подходит, выдать пользователю соответствующее сообщение с предложением обратиться к какому-либо графическому редактору и подготовиться к встрече со звездой (читай с лотусом)? Или всё таки имеются элегантные способы подогнать картинку под нужный размер?
    Если я в DXL задам нужные мне размеры XXXxYYY (<picture width='XXXpx' height='YYYpx'>), то картинка подгониться под эти размеры криво или же нормально?
     
  13. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.238
    Симпатии:
    313
    это уж как напишите :), но если ДХЛ - то можно и препроцессор при загрузке ставить, кот. спокойно отресайзит, штатными ср-вами
    http://www.nsftools.com/tips/JpgImage.java
     
  14. alik86

    alik86 Well-Known Member
    Lotus team

    Регистрация:
    20 ноя 2008
    Сообщения:
    465
    Симпатии:
    1
    lmike, ну как напишу? а так и напишу <picture width='100px' height='100px'>... ;)
    Вот неужели меня всё таки добьют такие как Вы и я таки сяду за яву? (с универа не доверяю всяким { } да ++ ) :).
    А вообще спасибо, на досуге поколупаю -- только не забывайте про "мы в ответе за тех кого приручили", буду приставать с вопросами... :)

    А вот я смотрю Rich Text Lite если ему задать Limit Input: Photos всё вжимает в рамки 2,54см Х 0,635см...
    Добавлено: про 2,54см Х 0,635см я погорячился, но как-то оно на первый взгляд очень даже неплохой результат даёт (таки уменьшает размер)
     
  15. alik86

    alik86 Well-Known Member
    Lotus team

    Регистрация:
    20 ноя 2008
    Сообщения:
    465
    Симпатии:
    1
    lmike, что-то я не сильно догоняю как подрубить приведенный по Вашей ссылке код к Лотусу. Создал я явабиблиотеку "JavaLibrary", затолкал туда этот код и что дальше?
    Попробовал через LS2J, но пробы завершились ничем:
    Код (Text):
    'Agent ResizeJPEG(LS2J)
    Option Public
    Option Declare
    Use "JavaLibrary"
    Sub Initialize()
    Dim jSession As JavaSession
    Dim jClass As JavaClass
    Dim jObject As JavaObject
    Set jSession = New JavaSession()
    Set jClass = jSession.GetClass("JpgImage")
    Set jObject = jClass.CreateObject("D:\\ForResize.jpg") '<--- вот тут я и получил НИЧЕМ! ЧТО НАДО УКАЗЫВАТЬ В КАЧЕСТВЕ ПАРАМЕТРА?
    End Sub
    Собственно где мне что почитать, чтобы наверняка знать, как подрубить всё это дело к Лотусу?
     
  16. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.238
    Симпатии:
    313
    вот этот фокус я не понял :lovecodeby:
    для начала - почитать хэлп... все классы (а String им является) и не только, передаются в конструктор с описанием
    потому (лень людям описание создавать :lovecodeby: ), делают конструктор путым, и создают ф-цию инициализации, куда спокойно можно передать "совместимые" параметры, без описания
    читаем в хэлпе:
    "Data type mappings" перечислены типы, возможна передача фиксированных! массивов с ёваными
    "CreateObject method" - это к указанной ошибке ;)
     
  17. alik86

    alik86 Well-Known Member
    Lotus team

    Регистрация:
    20 ноя 2008
    Сообщения:
    465
    Симпатии:
    1
    Гы. Это не фокус, это я так пустоту заполнил :lovecodeby:
     
  18. alik86

    alik86 Well-Known Member
    Lotus team

    Регистрация:
    20 ноя 2008
    Сообщения:
    465
    Симпатии:
    1
    Что-то я вообще запутался.
    Почитал я Data type mappings, нашел там даже String mapping example который мне не дал ровным счётом ничего.
    Почитал так же CreateObject method.
    Нигде я не нашёл указаний, что "для того чтобы передать в конструктор String надо то-то и то-то..." (а может нашёл, да не понял?)
    Перепробовал кучу всего:
    Set jObject = jClass.CreateObject("(Ljava/lang/String)V", "D:\\ForResize.jpg")
    Set jObject = jClass.CreateObject("(Ljava/lang/String;)V", "D:\\ForResize.jpg")
    Set jObject = jClass.CreateObject("(Ljava.lang.String)V", "D:\\ForResize.jpg")
    Set jObject = jClass.CreateObject("(java.lang.String)V", "D:\\ForResize.jpg")
    и т.д. и т.п. но на всё получил LS2J Error: Java constructor failed to execute.

    Ну пережуйте мне, дремучему, ну пожалуйста! Ну напишите как мне сделать CreateObject для данного примера? (За это я даже готов пообещать подружиться с явой :mellow:)
     
  19. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.238
    Симпатии:
    313
    Код (Text):
        Dim jSession As JavaSession
    Dim jClass As JavaClass
    Dim jObject As JavaObject
    Set jSession = New JavaSession()
    Set jClass = jSession.GetClass("JpgImage")
    Set jObject = jClass.CreateObject("(Ljava/lang/String;)V","C:\\ForResize.jpg")
    бяда м.б. в имени файла :mellow: - его нет там где указано или формат не jpg
    резалтом будут не обработанные эксепшены: throws IOException, ImageFormatException
    т.к. они в конструкторе - просто вывалит по неудаче и не создаст объект (что у наблюдалось)
     
  20. alik86

    alik86 Well-Known Member
    Lotus team

    Регистрация:
    20 ноя 2008
    Сообщения:
    465
    Симпатии:
    1
    Ну и как это называется?!
    Писал же:
    Не работало...
    После того как Вы насоветовали того же - заработало. Есть в этом лотусе что-то мистическое... :mellow:
    Спасибо!
     
Загрузка...

Поделиться этой страницей