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

KingGLEB

Active member
08.05.2008
30
0
#1
Есть документ. Хочется выводить туда фото. Фото распаковывается в %Temp%\Foto.jpg. Как можно изменить размер картинки при выводе её в документ?
Если использовать

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

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

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

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

Sandr

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

KingGLEB

Active member
08.05.2008
30
0
#5
Вопросы:
1. Клиент тонкий или толстый
2. Картинку внедряете прямо на форму? Или еще как-нить?
1. Клиент толстый.
2. В форме есть таблица, а в одной из ячеек этой таблицы есть хтмл тэг, приведенный выше.

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

NetWood

Lotus team
17.04.2008
372
19
#6
<img src="file://C:\Windows\Temp\Foto.jpg" width=10 height=10 />

то лотус игнорирует указанные размеры и выводит в том размере в котором есть. Как масштабировать? Кто подскажет решение без внешних ресайзеров?
Хм. Фраза "лотус игнорирует" напрягает. Игнорирует где? В вебе? Так там лотус не причем. Он код выдает в браузер и браузер показывает.
В клиенте такие вертеля вообще не катят...

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

fedotxxl

Well-known member
09.11.2005
614
0
#7
Привет,
нужно при помощи LS изменять изображение jpeg (добавить текст, например). Может кто помочь в документации? OLE / DLL?
 

lmike

нет, пердело совершенство
Lotus team
27.08.2008
6 586
272
#9
по-мне адназначна - 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
зарегаться надо, для прочтения
прям весь бридж расписан (в том числе с кодером/декодером), осталось для работы с текстом расширить
 
13.03.2009
625
1
#10
Привет,
нужно при помощи LS изменять изображение jpeg (добавить текст, например). Может кто помочь в документации? OLE / DLL?
Для просмотра контента необходимо: Войти или зарегистрироваться

success-story по использованию в LN: http://www.digitalsanctuary.com/tech-blog/...better-way.html
 
K

K-Fire

#11
ImageMagick.

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

alik86

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

lmike

нет, пердело совершенство
Lotus team
27.08.2008
6 586
272
#13
Если я в DXL задам нужные мне размеры XXXxYYY (<picture width='XXXpx' height='YYYpx'>), то картинка подгониться под эти размеры криво или же нормально?
это уж как напишите :), но если ДХЛ - то можно и препроцессор при загрузке ставить, кот. спокойно отресайзит, штатными ср-вами
http://www.nsftools.com/tips/JpgImage.java
 

alik86

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

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

alik86

Lotus team
20.11.2008
465
1
#15
lmike, что-то я не сильно догоняю как подрубить приведенный по Вашей ссылке код к Лотусу. Создал я явабиблиотеку "JavaLibrary", затолкал туда этот код и что дальше?
Попробовал через LS2J, но пробы завершились ничем:
Код:
'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
Собственно где мне что почитать, чтобы наверняка знать, как подрубить всё это дело к Лотусу?
 

lmike

нет, пердело совершенство
Lotus team
27.08.2008
6 586
272
#16
Set jObject = jClass.CreateObject("D:\\ForResize.jpg") '<--- вот тут я и получил НИЧЕМ! ЧТО НАДО УКАЗЫВАТЬ В КАЧЕСТВЕ ПАРАМЕТРА?
вот этот фокус я не понял :lovecodeby:
для начала - почитать хэлп... все классы (а String им является) и не только, передаются в конструктор с описанием
потому (лень людям описание создавать :lovecodeby: ), делают конструктор путым, и создают ф-цию инициализации, куда спокойно можно передать "совместимые" параметры, без описания
читаем в хэлпе:
"Data type mappings" перечислены типы, возможна передача фиксированных! массивов с ёваными
"CreateObject method" - это к указанной ошибке ;)
 

alik86

Lotus team
20.11.2008
465
1
#18
Что-то я вообще запутался.
Почитал я 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:)
 

lmike

нет, пердело совершенство
Lotus team
27.08.2008
6 586
272
#19
Код:
	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
т.к. они в конструкторе - просто вывалит по неудаче и не создаст объект (что у наблюдалось)