Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Водяной знак на изображениях в номенклатуре
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.2 > Программирование обычных форм 1С 8.2 и не интерфейсной логики
bereznoy
Есть ли возможность в 1с на картинках в номенклатуре нанести массово название фирмы ну и цену например, может кто то делал, или при сохранении на локальный диск как то обрабатывать
logist
Пользоваться поиском конечно не для вас? необходимо зарегистрироваться для просмотра ссылки
bereznoy
Цитата(logist @ 23.05.13, 23:20) необходимо зарегистрироваться для просмотра ссылки
Пользоваться поиском конечно не для вас? необходимо зарегистрироваться для просмотра ссылки

Спасибо огромное, но мне надо нанести водяной знак = цене, конечно можно в одной обработке выгружать, потом наносить все что надо,потом загружать обратно к номенклатуре,но мне кажется это секс в гамаке, есть возможность выгрузить уже с водяным знаком
logist
Цитата(bereznoy @ 23.05.13, 23:30) необходимо зарегистрироваться для просмотра ссылки
есть возможность выгрузить уже с водяным знаком

Так если знаете, что есть, в чем тогда проблема? Я лично не знаю ни одного стандартного метода 1с который позволял бы наносить водяные знаки на изображения, поделитесь информацией.
bereznoy
Цитата(logist @ 23.05.13, 23:53) необходимо зарегистрироваться для просмотра ссылки
Так если знаете, что есть, в чем тогда проблема? Я лично не знаю ни одного стандартного метода 1с который позволял бы наносить водяные знаки на изображения, поделитесь информацией.

Извиняюсь, это вопросительно, уже переискал везде, наносить при выгрузке можно только через внешние компоненты, причем надо именно при выгрузке реализовать, как у меня все получить или если получить, то обязательно сюда выложу
bereznoy
Нашел вот такой код
КВФ = Лев(КаталогВременныхФайлов(), 3)  + "SlideShowTemp\";
    СоздатьКаталог(КВФ);
    КаталогКонвертатора = КаталогВременныхФайлов() + "SlideShow\ImageMagick\";
    WScript = Новый COMОбъект("WScript.Shell");

    ИмяФайлаТекста = КВФ + "txt.txt";
    Текст = Новый ТекстовыйДокумент;
    Текст.УстановитьТекст(Надпись);
    Текст.Записать(ИмяФайлаТекста, "windows-1251", Символы.ВК);

    Темп_ИмяФайлаШрифта = КаталогВременныхФайлов() + "SlideShow\Fonts\AGCROWO.TTF";
    ИмяФайлаШрифта = КВФ + "font.TTF";
    КопироватьФайл(Темп_ИмяФайлаШрифта, ИмяФайлаШрифта);

    ИмяФайлаСлайда =КВФ +  "text." + Строка(БиблиотекаКартинок[ИмяКартинки].Формат());
    ИмяФайлаКартинки = КВФ +  "img.bmp";
    ИмяФайлаНовойКартинки = КВФ +  "img." + Строка(БиблиотекаКартинок[ИмяКартинки].Формат());
    БиблиотекаКартинок[ИмяКартинки].Записать(ИмяФайлаКартинки);

    КомандаКонвертацииКартинки = """" + КаталогКонвертатора + "convert.exe"" -background transparent -font """ + ИмяФайлаШрифта + """ -pointsize 18 -page A2 -fill #000000ff text:""" + ИмяФайлаТекста + """ -trim -bordercolor transparent -border 24 """ + ИмяФайлаСлайда + """";
    WScript.Run(КомандаКонвертацииКартинки, 0, Истина);

    ИмяФайлаПодложки = КВФ +  "source.png";
    КопироватьФайл(ИмяФайлаКартинки, ИмяФайлаПодложки);

    КомандаКонвертацииКартинки = """" + КаталогКонвертатора + "convert.exe"" """ + ИмяФайлаПодложки + """ -compose over -gravity South """ + ИмяФайлаСлайда + """ -composite -alpha off """ + ИмяФайлаКартинки + """";
    WScript.Run(КомандаКонвертацииКартинки, 0, Истина);

    Возврат ПоместитьВоВременноеХранилище(Новый ДвоичныеДанные(ИмяФайлаКартинки), УникальныйИдентификатор);


У меня есть в цикле при выгрузке картинок из номенклатуры путь к картинкам, название и т.д., как мне просто наложить названия на картинки в цикле,
WScript = Новый COMОбъект("WScript.Shell");
Затем как я понимаю convert.exe уже обрабатывает изображение, вообщем нужна помощь
bereznoy
Спасибо никто получить не хотел = не подсказал, вообщем то вот так сделал, теперь все ок, теперь осталось допилить (цену,артикул нанести), но это уже мелочи ))), вот код, может кому пригодиться
 КВФ = Лев(КаталогВременныхФайлов(), 3)  + "SlideShowTemp\";
    СоздатьКаталог(КВФ);
    КаталогКонвертатора = КаталогВременныхФайлов() + "SlideShow\ImageMagick\";
    WScript = Новый COMОбъект("WScript.Shell");

    ИмяФайлаТекста = КВФ + "txt.txt";
    Текст = Новый ТекстовыйДокумент;
    Текст.УстановитьТекст(Изображение1.Номенклатура.Наименование);
    Текст.Записать(ИмяФайлаТекста, "windows-1251", Символы.ВК);

    Темп_ИмяФайлаШрифта = "C:\Users\Администратор\Desktop\AGBENGR.TTF";
    ИмяФайлаШрифта = КВФ + "font.TTF";
    КопироватьФайл(Темп_ИмяФайлаШрифта, ИмяФайлаШрифта);

   ИмяФайлаСлайда =КВФ +  "text.png";
   ИмяФайлаКартинки = КВФ +  "img.jpg";
   ИмяФайлаНовойКартинки = КВФ +  "img." + Файл.Формат();
   Файл.Записать(ИмяФайлаКартинки);
   КопироватьФайл(КаталогИзображений+"\"+СокрЛП(Папки1.Папка.Родитель)+"\"+СокрЛП(Папки1.Папка.Наименование)+"\"+ИмяФайла,ИмяФайлаСлайда);
  
  
   ИмяФайлаПодложки = КВФ +  "source.png";
   КопироватьФайл(ИмяФайлаКартинки, ИмяФайлаПодложки);

    
    КомандаКонвертацииКартинки = """" + КаталогКонвертатора + "convert.exe"" -background transparent -font """ + ИмяФайлаШрифта + """ -pointsize 18 -page A2 -fill #00000fff text:""" + ИмяФайлаТекста + """ -trim -bordercolor transparent -border 24 """ + ИмяФайлаСлайда + """";
      WScript.Run(КомандаКонвертацииКартинки, 0, Истина);

    
    

    КомандаКонвертацииКартинки = """" + КаталогКонвертатора + "convert.exe"" """ + ИмяФайлаПодложки + """ -compose over -gravity South """ + ИмяФайлаСлайда + """ -composite -alpha off """ + ИмяФайлаКартинки + """";
    WScript.Run(КомандаКонвертацииКартинки, 0, Истина);
    
     КопироватьФайл(ИмяФайлаКартинки, КаталогИзображений+"\"+СокрЛП(Папки1.Папка.Родитель)+"\"+СокрЛП(Папки1.Папка.Наименование)+"\"+ИмяФайла);
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.