как добавить картинку на форму c
Как вставить картинку в pictureBox C#
У многие новичков возникают вопросы при написании программа на C#. Один из часто задаваемых, как использовать компонент pictureBox и как использовать этот класс. Если вы пользуетесь конструктором в visual studio это одно, да вам легко перетащить из панели элементов pictureBox и в свойствах Image вставить изображение. Но что делать если вам требуется изменить картинку программно, или вовсе при нажатии кнопки менять изображения. Вот об этом и поговорим в этой статье. Прежде всего вам потребуется сама картинка, я создал новое приложение назвал его pictureBox скачал из интернета 4 картинки, на форме разместил компонент pictureBox 150х150 и button. рис 1.
Теперь нам потребуется добавить наши картинки в проект, для это выбираем свойство нашего проекта рис 2.
Переходим во вкладку ресурсы, вверху окна выберем рядом со стрелочкой добавить ресурс, и жмем добавить существующий фаил, указываем наш фаил и он загружается в проект, по аналогии добавляем остальные картинки. рис. 3.
Молодцы теперь мы умеем добавлять ресурсы в наш проект, сюда так же можно добавлять и другого формата файлы, видео, музыку, текстовые файлы. Если вы были внимательны, то в обозревателе решений в папке Resources появились наши картинки. рис 3.
Теперь перейдем не посредственно коду программы, а именно одним из его свойств.
Вывод изображения на управляемую форму
Небольшая задача
В тестовой конфигурации для элементов справочника «Сотрудники» был создан механизм прикрепления файлов изображений. Однако при открытии элемента текущее изображение можно посмотреть лишь открыв прикрепленный файл.
Как это было раньше
Прежде чем перейти к решению задачи, рассмотрим, как это реализовывалось бы для обычной формы. В тестовой конфигурации для справочника «Сотрудники» созданы два реквизита:
И, вуаля! При открытии отображается прикрепеленной ранее фото!
Вся задача решилась в два шага: добавляем поле картинки на форму, и перед открытием получаем картинку из реквизита элемента справочника и присваиваем элементу формы. С управляемой формой все немного сложнее.
На управляемой форме
На управляемой форме просто так получить картинку из хранилища значений не получится, а уж тем более поместить его на управляемую форму. Поскольку управляемые формы созданы для четкого разделения клиентской и серверной стороны, то и логика работы будет иной.
Для отображения изображения для начала добавим строковой реквизит формы «ФотоСотрудника», для которого на форме создадим элемент с типом «Поле картинки».
Теперь в обработчике формы «ПриСозданииНаСервере» добавим следующий программный код:
В результате при открытии элемента мы увидим следующее:
На этом задача полностью решена!
Задача решена
Задачу мы решили, но есть куда оптимизировать! Файл лучше вынести в отдельную таблицу, чтобы время открытия элемента справочника не возросло при прикреплении изображений больших размеров. Но оптимизация уже выходит за рамки статьи.
Скачать тестовую конфигурацию с примером из статьи.
Решение задач по управляемым формам – тема № 14:
Как реализовать отображение картинок на форме и хранение их в базе
Работа с графическими изображениями повышает наглядность и удобство работы с программой. Поэтому в платформе «1С:Предприятие» реализована работа с изображениями.
Для удобства пользователей в базе можно хранить изображения различных объектов. Это могут быть фотографии товаров, сканы документов, копии документов физических лиц и так далее. Также сохраненные изображения можно отображать на формах документов, справочников и других объектов.
Кроме того, в современных типовых конфигурациях фирмы «1С» есть возможность выбора места хранения прикрепленных изображений – в самой информационной базе или в отдельном каталоге на жестком диске. Это связано с тем, что графические изображения могут занимать достаточно много места, следовательно, размер информационной базы может сильно увеличиться.
Однако приемы работы с изображениями не меняются в зависимости от способа хранения этих изображений. Далее рассмотрим пример задачи, который может встретиться на экзамене:
Необходимо обеспечить возможность прикреплять изображение к элементу справочника Номенклатура. Изображения следует хранить в информационной базе. Прикрепленное изображение номенклатуры должно отображаться на форме элемента.
На форме элемента справочника «Номенклатура» разместить кнопку «Загрузить картинку». При нажатии на эту кнопку пользователь выбирает файл на диске, который будет прикреплен к карточке номенклатуры:
Рисунок 1 – Отображение картинки на форме номенклатуры
Как организовать хранение изображений в базе
Для хранения произвольных данных в платформе «1С:Предприятие» предназначен специальный тип ХранилищеЗначений. Этот тип позволяет хранить в информационной базе любые двоичные данные – изображения, электронные таблицы, PDF-файлы и так далее.
Важно, что поля такого типа хранятся непосредственно в информационной базе. Значит, они будут сохранены в файле с расширением dt при создании выгрузки базы, а также в резервной копии, созданной средствами СУБД. Дополнительное резервное копирование файлов с изображениями не потребуется.
Для решения поставленной задачи организуем хранение прикрепленных изображений непосредственно в справочнике Номенклатура. Для этого создадим в справочнике реквизит Изображение (тип – ХранилищеЗначения):
Рисунок 2 – Реквизит справочника «Номенклатура» для хранение картинки
Как отобразить изображение на форме
Реквизит с типом ХранилищеЗначения нельзя отобразить на управляемой форме, поэтому воспользуемся временным хранилищем для размещения двоичных данных картинки:
Рисунок 3 – Использование временного хранилища для отображения картинки на форме
Двоичные данные изображения поместим во временное хранилище. Адрес этого временного хранилища сохраним в строковом реквизите на форме. Добавим на форму поле с видом Поле картинки. В свойстве Путь к данным этого элемента управления укажем строковый реквизит, где хранится адрес временного хранилища. При таких настройках платформа сможет отобразить на форме изображение, расположенное во временном хранилище.
Последовательно произведем описанные выше действия.
Как настроить форму для отображения на ней картинки
Создадим на форме элемента справочника Номенклатура реквизит АдресКартинки с типом Строка:
Рисунок 4 – Создание реквизита формы «Адрес картинки»
Перенесем созданный реквизит на форму:
Рисунок 5 – Создание элемента формы «Адрес картинки»
Для поля АдресКартинки установим свойство Вид в значение «Поле картинки»:
Рисунок 6 – Установка значения свойства Вид для поля «АдресКартинки»
Создадим команду формы ЗагрузитьКартинку:
Рисунок 7 – Команда формы «Загрузить картинку»
Перенесем команду на форму:
Рисунок 8 – Размещение команды «Загрузить картинку» на форме
Реализуем обработчик команды. При нажатии на кнопку «Загрузить картинку» отобразим диалог выбора файла с картинкой. Выбранное пользователем изображение поместим во временное хранилище.
В свойствах конфигурации режим модальности не используется:
Рисунок 9 – Свойство конфигурации «Режим использования модальности»
Поэтому для помещения файла во временное хранилище используется метод глобального контекста НачатьПомещениеФайла. Процедура ЗагрузитьКартинку будет иметь следующий код:
После того, как выбранный пользователем файл будет помещен во временное хранилище, система вызывает процедуру ЗагрузитьКартинкуЗавершение, указанную в описании оповещения. В ней реквизиту формы АдресКартинки присваивается адрес временного хранилища, куда была помещена картинка.
Поскольку при выполнении рассмотренного программного кода не изменяются значения реквизитов объекта, при закрытии формы система не спросит, следует ли сохранить выполненные изменения. Чтобы не потерять отображающуюся на форме, но еще не записанную в базу картинку, признак модифицированности формы установим в значение Истина.
Важно, что при вызове процедуры НачатьПомещениеФайла обязательно требуется указать уникальный идентификатор управляемой формы. Таким образом временное хранилище будет связано с формой, то есть будет существовать до тех пор, пока существует сама форма.
Если не указать идентификатор формы, временное хранилище будет уничтожено при следующем серверном вызове. Такой вариант не подходит, поскольку по условию задачи далее нужно будет записать данные картинки в реквизит справочника.
В пользовательском режиме откроем форму элемента справочника «Номенклатура». Нажмем кнопку Загрузить картинку, выберем файл с изображением с диска, после чего картинка отобразится на форме:
Рисунок 10 – Загрузка изображения с диска
Модифицированность формы отображается при помощи символа (*) в заголовке формы.
Обратите внимание – сейчас картинка отображается на форме, но в информационной базе она еще не сохранена. Дело в том, что в базе изображение хранится в реквизите справочника «Номенклатура». Поскольку элемент справочника еще не записан, в базе данных этого изображения еще нет. Оно располагается только во временном хранилище. При записи элемента справочника необходимо данные из временного хранилища сохранить в реквизит справочника.
Как сохранить изображение в базу
Ранее была реализована загрузка изображения из файла во временное хранилище, а также отображение картинки на форме. Теперь обеспечим хранение изображения в информационной базе. Для этого необходимо данные из временного хранилища перенести в реквизит Изображение справочника «Номенклатура».
Поскольку работа с временным хранилищем доступна только на Сервере, создадим в модуле формы элемента справочника Номенклатура обработчик события ПередЗаписьюНаСервере:
Если в реквизите формы АдресКартинки содержится адрес временного хранилища, записываем в реквизит Изображение данные картинки, находящиеся во временном хранилище.
При открытии формы нужно отображать сохраненную в базе картинку на форме. Для этого в модуле формы элемента справочника Номенклатура реализуем обработчик события ПриСозданииНаСервере. Код обработчика будет выглядеть следующим образом:
При помощи метода глобального контекста ПолучитьНавигационнуюСсылку получаем навигационную ссылку на реквизит Изображение текущей позиции номенклатуры. Полученную ссылку присваиваем реквизиту формы АдресКартинки. Это позволит платформе отобразить на форме в поле картинки изображение номенклатуры.
Таким образом, поставленная задача решена. Реализовано хранение изображения в информационной базе, а также его отображение на форме.
Программирование в 1С для всех
В этой статье я расскажу, как программно работать на управляемой форме с картинкой в 1С 8.3: загружать их на форму, хранить в базе и выводить картинку при открытии формы.
Для демонстрации работы с картинками решим простую задачу: в нашей условной базе имеется справочник Номенклатура, наш заказчик хочет, чтобы к каждой номенклатуре можно было привязать картинку этой номенклатуры. Реализуем эту задачу.
Первым делом у справочника Номенклатура создадим реквизит Картинка с типом ХранилищеЗначений.
В учебной задаче мы будем хранить картинки непосредственно в справочнике Номенклатура, в реальных же задачах для хранения картинок и других бинарных файлов необходимо создавать или подчиненный справочник, или регистр сведений.
Сделаем управляемую форму элемента справочника, на которой реализуем следующий функционал: на форме будет размещено поле с картинкой, если картинка не хранится в справочнике, то оно будет пустое, а иначе при открытии формы в 1С необходимо будет получить картинку из базы автоматически, т.е. на форме нужно организовать вывод картинки. Пользователь может загрузить в 1С файл картинки, для этого он должен кликнуть на поле картинки, после этого будет открыта форма выбора файла формата jpg, а после выбора нужного файла, картинка появится на форме. При сохранении элемента, картинка должна будет записаться в базу.
Создадим управляемую форму элемента справочника, у этой формы создадим реквизит СсылкаНаКартинку с типом Строка.
Поместим этот реквизит на форму в виде поля, а вид у данного поля установим «Поле картинки».
Сделаем так, чтобы мы могли загружать картинку по клику мышки на это поле, для этого установим в свойство поле Гиперссылка.
Создадим клиентский обработчик для события Нажатие этого поля.
В этом обработчике напишем код, который будет вызывать диалог открытия файла с расширением jpg.
Опишем процедуру ПослеЗагрузкиФайла, которую указали в описании оповещения, в этой процедуре, если пользователь выбрал файл, мы будем помещать его во временное хранилище при помощи метода НачатьПомещениеФайла.
Следующим шагом, необходимо в процедуре ПослеПомещенияФайла, которая указана в описании оповещения процедуры ПослеЗагрузкиФайла, присвоить реквизиту формы «СсылкаНаКартинку» адрес временного хранилища.
Если мы сейчас сохраним конфигурацию, то наша картинка будет прекрасно загружаться на форму и показываться на ней, но она не будет храниться в базе.
Для того, чтобы картинка хранилась в базе, нам необходимо сохранить картинку в реквизит объекта, делать мы это будем в событии формы ПередЗаписьюНаСервере. Создадим это событие.
В обработчике события проверим, что реквизит формы СсылкаНаКартинку является адресом временного хранилища, и если это так, то получим файл картинки из временного хранилища и запишем его в реквизит Картинка нашего объекта. В конце удалим картинку из временного хранилища, а поскольку у нас реквизиту формы присвоен адрес во временном хранилище, то нужно получить адрес с реквизита объекта, чтобы картинка никуда не делась после сохранения.
И последний штрих: нам нужно сделать так, чтобы при открытии формы, картинка появлялась на форме, если она есть в базе (в хранилище).
Для этого, создадим обработчик для события ПриСозданииНаСервере формы.
И в этом обработчике будем получать навигационную ссылку на картинку.
Всё! Задача выполнена. Теперь мы можем загружать картинку на форму с помощью диалога открытия файлов, сохранять картинку в базу, и выводить картинку на форму при открытии, если она имеется в базе.
Мой опыт преподавания показывает, что многие начинающие и не очень разработчики всё еще слабо программируют в управляемом приложении, теряются во многих вопросах.
Книга «Основы разработки в 1С: Такси» научила программировать под управляемым приложением 300+ начинающих программистов 1С.
И Вы обязательно освоите все тонкости разработки под управляемым приложением 1С 8.3.
Только для читателей моего блога,
промо-код на скидку в 150 рублей — blog
Для тех же, кто только начинает:
общие вопросы по разработке в 1С подробно и основательно даются в книге «Программировать в 1С за 11 шагов»
Стартуйте в изучении 1С программирования в месте с моей книги «Программировать в 1С за 11 шагов»
Только для читателей моего блога, промо-код на скидку в 150 рублей — blog
Эти книги плюс книга по разработке оперативного учёт имеются в едином комплекте: комплект книг по разработке в 1С.
Только для читателей моего блога,
промо-код на скидку в 300 рублей на весь комплект: blog
Если Вам помог этот урок решить какую-нибудь проблему, понравился или оказался полезен, то Вы можете поддержать мой проект, перечислив любую сумму:
можно оплатить вручную:
Яндекс.Деньги — 410012882996301
Web Money — R955262494655
Вступайте в мои группы:
5 thoughts on “ Картинка в 1С 8.3 — программная работа ”
При закрытии модуля, постоянно выдаются ошибки:
Переменная не определена (ВыбранныйФайл)
Как добавлять и редактировать изображения в Google Forms
Google Forms предлагает потрясающие возможности для создания форм разных типов. У вас может быть несколько вариантов ответов, короткие или длинные ответы и даже сетки для выбора. Одна вещь, которая беспокоит людей, — это как добавлять изображения в Google Forms. Есть несколько способов добавить изображения в Google Формы. Вы можете добавить их в свою форму как часть своих вопросов или разрешить пользователям загружать изображение в качестве ответа. Вы даже можете использовать изображение в качестве заголовка. Мы рассмотрели все это в этом посте.
Мы расскажем, как добавлять изображения как отдельные изображения, как часть вопросов и ответов, и как загружать изображения в качестве ответов. В сообщении также рассказывается, как редактировать изображения в Google Forms.
Как разрешить загрузку изображений в качестве ответов в Google Forms
Часто создатель формы хочет, чтобы пользователь загрузил изображения или файлы любого другого типа в ответ на ответ. К счастью, это возможно в Google Forms. Файлы будут сохранены в вашем аккаунте Google Drive.
Чтобы использовать эту функцию через мобильное устройство или компьютер, добавьте новый вопрос в свою форму Google. Щелкните или коснитесь раскрывающегося списка типа вопроса. Выберите Загрузить файл. Примите условия, если вас попросят.
Поскольку вы хотите, чтобы пользователи добавляли только изображения, установите переключатель в положение Разрешить только определенные типы файлов. Установите флажок рядом с изображением. Выберите соответствующие параметры в разделе «Максимальное количество файлов, которые может загружать пользователь» и «Максимальный размер файла». Вот и все. Пользователь увидит опцию Добавить файл на веб-интерфейсе. Обязательно ознакомьтесь с нашим подробным руководством о том, как загружать файлы в Google Forms.
Совет профессионала: Если вы не хотите, чтобы пользователи добавляли изображения непосредственно в вашу форму, создайте вопрос и попросите пользователей добавить ссылку на свое изображение с Google Диска. Ссылки на изображения будут сохранены в Google Sheet. Узнайте, как сохранять ответы Google Form на разных листах.
Как добавить изображения в Google Forms на рабочем столе
Есть три способа или случая, когда вы можете добавить изображения в Google Forms.
Метод 1: добавить изображение до или после вопроса
Иногда вы хотите добавить изображение, описывающее, что предшествует или следует за вопросом. В таких случаях вы можете добавлять изображения вместе с названием изображения. В этом сценарии пользователи не могут взаимодействовать с изображением. Это только для информационных или описательных целей.
Чтобы добавить такие изображения, щелкните значок изображения на панели справа в Google Forms.
Откроется окно «Вставить изображение». Вы можете добавить изображение со своего компьютера, мгновенно сделать снимок с помощью камеры устройства, добавить из URL-адреса, Google Фото, Диска или даже из поиска Google. Щелкните изображение, которое вы хотите добавить, и нажмите кнопку «Вставить», чтобы вставить его в форму. Когда изображение было добавлено, добавьте заголовок изображения, если хотите.
Метод 2: добавить изображение как вопрос
Теперь, если вы хотите добавить изображение, чтобы оно стало вопросом, это тоже возможно. Для этого добавьте вопрос или импортируйте вопрос в свою форму Google. Наведите указатель мыши на заголовок вопроса. Вы увидите значок изображения в правом крайнем углу. Нажмите здесь.
Выберите изображение, которое хотите добавить. Введите свой вопрос в доступное поле и при необходимости отредактируйте изображение, как показано в разделе «Редактировать изображение» ниже.
Метод 3: добавить изображение в качестве ответа
Подобно описанному выше методу, вы можете добавлять изображения в качестве вариантов ответов. Это будет работать только для вопросов с множественным выбором и флажком. Поэтому выберите один из этих двух в качестве вопроса в Google Forms. Когда появятся параметры, наведите указатель мыши на параметр, и вы увидите значок изображения справа. Щелкните по нему и добавьте желаемое изображение.
Размер изображений будет изменен автоматически. Вы можете добавить заголовок для своих изображений вместо Option.
При желании порядок ответов можно менять. Для этого наведите указатель мыши на текст Option. Слева от изображения появится значок с 6 точками. Используйте его, чтобы перетащить и изменить положение изображения. Либо щелкните значок с тремя точками внизу окна вопроса и выберите «Перемешать».
На следующем снимке экрана показано, как форма с изображениями будет выглядеть на передней панели.
Как добавить изображения в Google Forms на мобильном устройстве
Как и на настольном компьютере, те же методы можно использовать и на мобильном устройстве. Ознакомьтесь с нашим руководством о том, как создавать Google Формы на мобильных устройствах. Кроме того, чтобы открыть старые формы Google на мобильном устройстве, запустите веб-сайт или приложение Google Диска. Вы найдете свои существующие формы.
Метод 1: добавить изображение с заголовком
Чтобы добавить изображение напрямую, не являясь частью вопроса или ответа, коснитесь значка изображения в нижней панели формы Google на мобильном устройстве.
Откроется экран «Вставить изображение». Выберите изображение в желаемом месте. Подождите, пока изображение загрузится. Добавьте заголовок изображения и выполните задачи редактирования, как указано ниже.
Совет профессионала: Проведите пальцем влево по доступным параметрам, т. Е. «Загрузить», «Камера» и т. Д., Чтобы открыть дополнительные способы добавления изображений.
Метод 2: добавить изображение как вопрос
Создайте нормальный вопрос любого типа. Нажмите за пределами названия вопроса, чтобы отменить выбор. Вы увидите значок изображения справа от него. Нажмите на него. Если вы не видите значок изображения, нажмите в правой части экрана. Откроется окно «Вставить изображение». Добавьте свое изображение.
Метод 3. Добавьте изображения в качестве ответов
Создайте вопрос с множественным выбором или флажком. Нажмите в правой части опции, чтобы отобразить значок изображения. Нажмите на значок и добавьте свое изображение. Повторите шаги для других вариантов.
Как редактировать изображения в Google Forms
Вы можете настроить свои формы, редактируя изображения на мобильных устройствах и ПК, как показано ниже.
Изменить размер изображения
Вы не можете обрезать изображения в Google Forms. Выполните эту задачу перед загрузкой изображения. Однако вы можете изменить размер изображения. Для этого щелкните или коснитесь изображения один раз. Вокруг изображения появится рамка. Используйте углы, чтобы отрегулировать размер изображения.
Выровнять изображение
Чтобы выровнять изображение, нажмите на трехточечный значок на картинке. Выберите свой вариант выравнивания.
Добавить текст при наведении
Вы также можете добавить текст для вашего изображения. Чтобы добавить это, щелкните значок с тремя точками вверху изображения. Выберите текст при наведении. Добавьте свой текст. Эта функция доступна только в том случае, если вы добавляете изображение напрямую, а не в качестве вопроса или ответа.
Добавить подпись
Когда вы используете изображение в качестве вопроса, вы можете добавить к нему подпись. Для этого снимите выделение с изображения и щелкните трехточечный значок на изображении. Выберите в меню Добавить подпись.
Дубликат изображения
Если вы хотите снова использовать то же изображение в своей форме, вам не нужно добавлять его снова. Просто нажмите на значок «Дублировать», чтобы скопировать изображение.
Изменить или удалить изображение
Иногда после добавления изображения оно оказывается неправильным. Казалось бы, придется начинать с нуля. Но это не так. Щелкните трехточечный значок на изображении. Выберите «Изменить», чтобы заменить изображение, и «Удалить», чтобы удалить изображение.
Бонус: как добавить изображение в заголовок формы Google
Чтобы сделать вашу форму понятной и улучшить ее внешний вид, вы можете добавить изображение в заголовок формы. Для этого на мобильном устройстве или компьютере откройте форму и щелкните или коснитесь значка цветовой палитры вверху. Выберите Выбрать изображение под заголовком.
Добавьте желаемое изображение, и оно появится в заголовке. Повторите тот же шаг, чтобы удалить или изменить изображение заголовка.
Следующий:
Вы регулярно используете Google Формы? Ознакомьтесь с 10 советами и рекомендациями по следующей ссылке, чтобы улучшить работу с Google Формами.




























