Простой редактор изображений без внешних компонент или WIA-селые картинки.

24 Comments

  1. CheBurator

    Спасибо!

    а можно прикрутить к 7примеру еще примерчик двигания изображения? то есть показ в мастабе 1-1, но по частям.. и двигать видимую часть изображения в любую сторону..?

    Reply
  2. USER--1C

    Спасибо.

    Тоже решал задачу отображения графических файлов и их взаимное расположение в 1С.

    Экспериментировал с графическими файлами в объекте Графическая схема. Спасибо сайту, взял много интересных решений, т.к. очень мало документации по Графической схеме. В результате — загрузка графических файлов, перемещение, размещение друг над другом, смена порядка слоев, отключение видимости слоя (графического объекта), сохранение на диск в формате графической схемы. И все только штатными механизмами, но в извращённом исполнении — разбор и изменение структуры Графической схемы через выгрузку-загрузку на диске.

    Может 1С разработает нормальные штатные механизмы для примитивной работы с графическими файлами?

    Reply
  3. dusha0020

    (1) CheBurator, С двиганием изображения в 7-ке очень хлопотно. Теоретически можно резать файл под размер элемента картинки на форме и вставлять при прокрутке специальными кнопками, но скорость такой прокрутки будет просто аут:)

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

    Reply
  4. dusha0020

    (2) USER—1C, Может и разработает:)

    Вы правильно заметили, что документации по графической схеме маловато, и Ваш опыт был бы интересен. Не хотите оформить его публикацией?

    Reply
  5. free-lancer-2018

    К сожалению, не получилось заставить это работать в управляемом приложении на стороне сервера

    Reply
  6. dusha0020

    (5) adminfo2002, Ну в самих функциях нет ничего такого, чтобы не работало в УП. Проблемы могут возникнуть с отображением на форме для УП. А может отсутствует библиотека WIA на сервере?

    Reply
  7. free-lancer-2018

    скрипт, когда пытается сохранить файл по указанному пути, кричит, что файл не обнаружен.Причем, без разницы какой путь указывать. Это если заставлять процедуру отрабатывать на сервере.

    Reply
  8. CheBurator

    Двигание ладно, есть варианты.

    а вот обрезку хочется сделать как-то поумнее — мышью выделил нужный прямоугольник и получил crop — можно такое выделение мышью сделать?

    Reply
  9. free-lancer-2018

    да, скорее всего админом на сервере запрещено выполнение таких скриптов или у пользователя, под которым запущен сервер 1с, нет прав на исполнение. Нашел другую внешнюю компоненту, которая позволяет переворачивать картинки на сервере.

    Reply
  10. free-lancer-2018

    (8) CheBurator, если можно в 1с получить координаты выделения, то можно такое сделать.

    Reply
  11. free-lancer-2018

    Интересный, кстати, вариант развития темы и иной путь решения

    http://www.1cpp.ru/forum/YaBB.pl?num=1186442602

    Reply
  12. shchegirev

    Требовалось повернуть изображение номенклатуры при печати этикеток. Очень выручило Ваше решение. Спасибо!

    Reply
  13. zatoichi

    Отличнейшая вещь!!!! не совсем то, что я искал, но тем не менее дало хороший старт

    Reply
  14. Shadasp

    скачал обработку, так и не получилось сделать чтобы она заработала.

    проблема: не может создать временный файл: «файл не обнаружен»; — папка роли не играет, так же как писал (7).

    начал смотреть на службу WIA — пока мысли, хоть служба и стандартная, попробуй ее запусти в работу.

    Reply
  15. dusha0020

    (14) Shadasp, Посмотрите лучше в сторону прав. На запускающей машине у пользователя должны быть права администратора. Используйте толстый клиент на обычных формах, а на управляемых — нужно много переписывать, но мне сейчас и лень и некогда:)

    Reply
  16. Shadasp

    (15) права администратора, так же пробывал запускать принудительно от администратора.

    Проверил службу, запушена, работает под локальным сервисом.

    Переназначал права на папки, куда сохраняется файл, менял папки, что еще можете посоветовать сделать ?

    Пока даже не пойму, где посмотреть ошибку, которая получается, чтобы от нее уже оттолкнуться.

    Reply
  17. dusha0020

    (16) Shadasp, И все-таки я грешу на админские дела. Я уже не помню кода скриптов, но советую Вам выковырять скрипт из обработки и убрать OnError и запускать его хотя бы локально. Без команд обработки ошибок скрипт должен выдавать ошибки исполнения. Вот их и нужно анализировать с администратором.

    Reply
  18. Serega-artem

    Автор огромный молодец! Многочасовые поиски привели сюда и радости нет придела! Просто, изящно и красиво! СПАСИБО!!!

    Reply
  19. Xershi

    Приветствую! Прочитал описание вашей разработки и появился вопрос!

    На днях я написал обработку по QR-кодам. И мне задали вопрос по размещению в баркоде отдельной картинки(логотипа). Я ознакомился со спецификацией баркодов и степенью коррекции ошибок алгоритма шифрования. И важным нюансом оказалось работа с изображением, т.е. получить картинку баркода и наложить на нее картинку-логотип. На сколько ваша разработка может помочь в решении такой задачи? В частности речь идет о том, чтобы картинка логотип занимала не более 30% пикселей самого баркода!

    Reply
  20. dusha0020

    (19) Xershi, Добрый день. Не совсем понял проблему. Если картинку лого нужно зашифровать в QR-код, то это не к данной обработке. Если картинку с лого нужно наложить в нужной точке нужным размером на картинку с кодом — то без проблем, берите обработку. Но опять же будет ли после этого читаем QR код вопрос опять не ко мне и этой обработке:)

    Reply
  21. Xershi

    (20) да все верно. Вопрос будет только стоять как с 100% вероятностью не повредить изображение кода. Но это уже другая задача.

    Спасибо за ответ, компонента уже установлена у нас на сервере аж в 4 местах, только не зарегистрирована почему то. Буду с админом разговаривать.

    Reply
  22. Светлый ум

    Не хватает кнопки сохранить (отредактированное), нате:

    Процедура СохранитьНажатие(Элемент)
    
    ЗаписываемаяКартинка = ЭлементыФормы.ПолеКартинки1.Картинка;//ЭлементыФормы.ПолеИзображения.Картинка;
    Если ЗаписываемаяКартинка.Вид <> ВидКартинки.Пустая Тогда
    
    ДиалогЗаписиФайла                             = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Сохранение);
    ДиалогЗаписиФайла.Заголовок                   = «Укажите имя файла»;
    ДиалогЗаписиФайла.ПолноеИмяФайла              = «»;
    ДиалогЗаписиФайла.Фильтр                      = ЗаписываемаяКартинка.ФильтрИменФайлов(); // картинки
    ДиалогЗаписиФайла.ПроверятьСуществованиеФайла = Истина;
    
    Если Не ДиалогЗаписиФайла.Выбрать() Тогда
    Возврат;
    КонецЕсли;
    
    Попытка
    ЗаписываемаяКартинка.Записать(ДиалогЗаписиФайла.ПолноеИмяФайла);
    Исключение
    Предупреждение(«Ошибка при записи файла: » + ДиалогЗаписиФайла.ПолноеИмяФайла + Символы.ПС
    + ОписаниеОшибки() + Символы.ПС + «Файл не записан.»);
    КонецПопытки;
    
    КонецЕсли;
    
    КонецПроцедуры
    

    Показать

    Reply
  23. dusha0020

    (22) Светлый ум, Спасибо:) Может как-нибудь и приделаю.

    Reply
  24. user_gea

    Спасиибо за информацию! Очень пригодилось.

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *