C Api - Загрузить рисунок в Richtext

  • Автор темы Murat
  • Дата начала
M

Murat

#1
Надо экспортировать рисунок из компоненты в RichText
хочу попробовать напрямую передать через hdc.
В VB было у PictureBoxа свойство hdc. а как у Richtexta?
 

Akupaka

А че я?.. О.о
04.10.2007
3 360
1
#2
из какой компоненты?..

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

есть одно но! :) мы делали только обратную операцию, т.е. из ричтекста выгружали картинку. поэтому вышеуказанное, это предположение о симметричности операции ))
 

TIA

:-)
Lotus team
15.05.2009
790
3
#3
Надо экспортировать рисунок из компоненты в RichText
хочу попробовать напрямую передать через hdc.
В VB было у PictureBoxа свойство hdc. а как у Richtexta?
В RT-поле картинка может быть импортирована (отображается при открытии документа) или вложена (обычный аттачмент). Вас интересует, видимо, как получить импортированную картинку? В этом случае, кроме DXL, можно воспользоваться UI-операцией @Command([FileImport]) или @Command([EditPaste]) :). Если нужно в backEnd, можно на С API реализовать dll, выполняющую формирование RT-поля на уровне отдельных CD-записей. Последний вариант самый сложный для реализации, но и самый скорострельный. Мне думается, что вам лучше использовать либо UI либо DXL.
 
M

Murat

#4
компонента - mapControl, Arcgis'овская
рисунок-карта
я сейчас экспортирую рисунок в файл, потом загружаю в Лотус
надо напрямую, и желательно в бэкэнде
покопаю еще с CAPI и DXL
 

lmike

нет, пердело совершенство
Lotus team
27.08.2008
6 567
263
#5
DXL, java, Base64 энкоденая картинка, куски кода по вставке картинки к аттачу
Код:
....
StringBuffer dxlToImport=new StringBuffer(dxlString.substring(0,dxlString.indexOf(rtStartNode)+rtStartNode.length()));
....
dxlToImport.append(txtStartBitmapItem);dxlToImport.append(encodedBitmap);dxlToImport.append(txtEndBitmapItem);
......
DxlImporter importer = session.createDxlImporter();
importer.setReplaceDbProperties(false);
importer.setReplicaRequiredForReplaceOrUpdate(false);
importer.setAclImportOption(
DxlImporter.DXLIMPORTOPTION_REPLACE_ELSE_IGNORE);
importer.setDesignImportOption(
DxlImporter.DXLIMPORTOPTION_CREATE);
importer.setDocumentImportOption(
DxlImporter.DXLIMPORTOPTION_UPDATE_ELSE_CREATE);
importer.importDxl(dxlToImport.toString(), db);
......
String txtStartBitmapItem="<pardef id='1'/><par def='1'>"+
"<attachmentref name='"+zipFileName+"' displayname='"+zipFileName+"' caption='"+zipFileName+"'>"+
"<picture><gif originalformat='notesbitmap'>";
//height='47px' width='62px'

char lf=10;

String txtEndBitmapItem="</gif></picture></attachmentref></par>";

String encodedBitmap=
"R0lGODlhHwAhAIIAAQQFCAiElNqaJLvFzfz9+fwCBCfS5wRilCH5BAEAAAAA"+
"LAAAAAAfACEAAgOwSLrR/tCtSUmomIE8L6+BsH3e1w0iaVIXOmLlailuFq8B"+
"oO+wnA2vjmJHXAEphSQBcGgYnjnTcVEguIi7w/QXTHq/SsAWM65OUIKUOFgp"+
"n9PpzfrjXqDjy3G7a4fj5xx1BH5/ehR1d3ByhmddWI9abIeSM0xOUJSNPUuP"+
"RpQ3S6BknwtMADkHTHSkCqmpqJk0rD6Tm7SaILe1ubp2s72Moj7BA8XGx8jJ"+
"jI/MzTy9MgkAOw==";
 

Kee_Keekkenen

Well-known member
05.09.2006
639
4
#6
компонента - mapControl, Arcgis'овская
рисунок-карта
я сейчас экспортирую рисунок в файл, потом загружаю в Лотус
надо напрямую, и желательно в бэкэнде
покопаю еще с CAPI и DXL
насколько я понял задача в том чтобы в поле вставить изображение из файла, т.е. как если бы мы открыли картинку в чем-нибудь сделали захват изображения или копировали изображение в буфер, а затем в ставили его в поле..

если так, то нет смысла париться c CAPI на скрипте это просто реализуется...

я делал такое когда-то: перенос изображения из одного ричтекста в другое.. типа по выбору человека из справочника в текущий документ подгружается инфа о нем и его фото..
 

Akupaka

А че я?.. О.о
04.10.2007
3 360
1
#7
насколько я понял задача в том чтобы в поле вставить изображение из файла
задача в том, чтобы перенести набор битов в виде картинки с "кнопки" (!) из другого приложения в РТ-поле лотуса.

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

зы: Murat, это часом не сканирование в лотус? так эта задача уже поезжена, вроде... TWAIN и все такое...
 
M

Murat

#8
я наверно не понятно выразился
компонент этот в форме, лотуса. эта типа такой привязки карты к документу.
компонент этот ArcGIS овская, а ArcGIS не у всех установлен.
воот для тех у кого не установлен, хочу чтоб было хотя бы изображение карты
сделал ArcGISовскими методами экспорт карты в файл, и далее импортирую в Лотус. -все работает хорошо

поэкспериментировав в VB с этим компонентом, понял что там можно сразу к объекту(PictureBox) передать рисунок через хэндл объекта
вот и интересно стало прокатит ли такое в лотусе или нет