К статье
Практический материал

Разработка и Конфигурация · 10 мин

Как установить прозрачный фон в PNG для 1С 8

Как сделать прозрачный фон в PNG для 1С 8: подготовка картинки, добавление в конфигурацию, настройка кнопок и картинок формы, типичные ошибки и проверка результата.

Прозрачный фон в картинках PNG нужен в 1С 8 повсюду: пиктограммы кнопок командной панели, иконки подсистем, картинки на формах, изображения в печатных формах. Если фон не прозрачный, вместо аккуратной иконки пользователь видит белый или серый квадрат, который выбивается из цветовой схемы интерфейса и портит внешний вид конфигурации.

Сама платформа 1С:Предприятие 8 корректно отображает альфа-канал PNG, поэтому вся работа сводится к двум этапам: правильно подготовить файл с прозрачностью в графическом редакторе и правильно подключить его в конфигураторе. Ошибки обычно случаются именно на первом этапе — файл сохраняют в формате без альфа-канала или с «грязными» полупрозрачными краями.

Ниже разобран полный цикл: проверка исходного PNG, удаление фона в бесплатных редакторах, сохранение с альфа-каналом, добавление картинки в конфигурацию и встроенную библиотеку картинок, а также проверка результата в режиме предприятия.

Почему 1С показывает фон вместо прозрачности

Чаще всего проблема выглядит так: разработчик вставляет PNG на форму или в кнопку, а вокруг изображения виден белый прямоугольник. Причина почти всегда одна — в файле физически нет альфа-канала. Это происходит, если картинку сохранили в JPEG, в PNG-8 без прозрачности, либо «прозрачность» нарисована белым цветом, который совпадает с фоном редактора, но является обычным пикселем.

Вторая типовая ситуация — прозрачность есть, но края объекта обрезаны с белым ореолом. На белом фоне редактора это незаметно, а в интерфейсе 1С, особенно в тонком клиенте с нестандартной темой, ореол сразу бросается в глаза.

Третья причина — использование картинки из библиотеки картинок платформы или общей картинки, где прозрачность была потеряна при конвертации. Если PNG прогнали через конвертер, который сохранил его в 8-битной палитре, полупрозрачные пиксели могут превратиться в сплошной цвет.

Белый квадрат вокруг объектаВ файле нет альфа-канала

Откройте PNG в редакторе и проверьте, отображается ли фон как шахматная доска

Светлый ореол по краямНекачественное удаление фона

Увеличьте масштаб до 400–800% и посмотрите границу объекта

Картинка выглядит зернистойPNG сохранён в 8-битной палитре

Проверьте глубину цвета в свойствах файла или пересохраните как PNG-24

Проверка PNG на наличие альфа-канала

Прежде чем что-то менять в конфигурации, убедитесь, что прозрачность есть в самом файле. Самый быстрый способ — открыть PNG в любом редакторе, который показывает прозрачность «шахматной доской»: Paint.NET, GIMP, Photoshop, Photopea в браузере. Если вместо шахматного узора виден белый или цветной фон — прозрачности нет, и её нужно создавать.

Дополнительно проверьте свойства файла. В Windows: правый клик по файлу → «Свойства» → вкладка «Подробно» → строка «Глубина цвета». Значение 32 означает наличие альфа-канала (24 бита цвет + 8 бит прозрачность). Значение 24 говорит о том, что альфа-канала нет.

Контрольные точки

Как проверить PNG перед загрузкой в 1С

Фон в редакторе
Норма

Шахматная доска вокруг объекта

Тревожный признак

Сплошной белый или цветной фон

Глубина цвета файла
Норма

32 бита

Тревожный признак

24 или 8 бит без прозрачности

Края объекта при увеличении
Норма

Плавный переход в прозрачность

Тревожный признак

Белая или цветная кайма по контуру

Как сделать фон прозрачным в графическом редакторе

Если альфа-канала нет, его нужно создать. Рассмотрим два бесплатных варианта, которые подходят для подготовки картинок под 1С.

Paint.NET — быстрый вариант

Откройте PNG в Paint.NET, выберите инструмент «Волшебная палочка», кликните по фону и нажмите Delete. Если фон неоднородный, уменьшите или увеличьте «Чувствительность» на верхней панели и повторите выделение. Затем сохраните файл через «Файл → Сохранить как → PNG», в диалоге сохранения выберите разрядность «32 бита» — именно она сохраняет прозрачность.

GIMP или Photopea — для сложных случаев

В GIMP: «Слой → Прозрачность → Добавить альфа-канал», затем выделите фон инструментом «Выделение по цвету» и удалите его клавишей Delete. Экспортируйте через «Файл → Экспортировать как → PNG», в настройках оставьте параметры по умолчанию. В браузерном Photopea логика та же: «Select → Similar» для выделения фона, Delete, затем «File → Export as → PNG».

Порядок подготовки PNG с прозрачностью
  1. 1
    Откройте исходную картинку в Paint.NET, GIMP или Photopea
  2. 2
    Убедитесь, что у слоя есть альфа-канал (добавьте его, если редактор требует)
  3. 3
    Выделите фон волшебной палочкой или выделением по цвету и удалите его
  4. 4
    Проверьте края объекта на увеличении, при необходимости сотрите остатки фона ластиком
  5. 5
    Сохраните файл как PNG с 32-битной глубиной цвета
  6. 6
    Откройте сохранённый файл заново и убедитесь, что фон отображается шахматной доской

Добавление картинки в конфигурацию 1С

Когда файл готов, его нужно подключить к конфигурации. Стандартный путь — через общие картинки: в дереве конфигурации откройте ветку «Общие → Общие картинки», добавьте новый элемент, задайте имя и в поле «Картинка» загрузите подготовленный PNG. После этого картинка доступна из любого места конфигурации через библиотеку картинок.

Для кнопки формы: откройте форму в конфигураторе, выделите кнопку, в палитре свойств найдите «Картинка», нажмите кнопку выбора и укажите добавленную общую картинку. Для элемента формы типа «Поле картинки» логика аналогичная — картинка назначается через свойство «Картинка» либо программно.

Если картинка нужна только в одном месте и не должна попадать в общую библиотеку, можно загрузить её напрямую в свойство элемента формы — файл будет храниться в составе формы. Но для повторно используемых иконок общие картинки удобнее: изменение в одном месте обновит отображение везде.

bsl
// Программная установка картинки с прозрачным фоном на элемент формы
Элементы.ДекорацияЛоготип.Картинка = БиблиотекаКартинок.МояОбщаяКартинка;

// Загрузка PNG из файла в реквизит типа "Картинка"
ДвоичныеДанные = Новый ДвоичныеДанные("C:\Images\logo.png");
КартинкаИзФайла = Новый Картинка(ДвоичныеДанные);

Особенности отображения в тонком и веб-клиенте

Тонкий клиент и веб-клиент по-разному масштабируют картинки. Если PNG имеет большой размер и уменьшается платформой, полупрозрачные края могут дать заметную «лесенку». Поэтому иконки для кнопок лучше готовить сразу в целевом размере — обычно 16×16 или 32×32 пикселя, а не масштабировать большую картинку вниз.

В веб-клиенте дополнительно проверьте отображение в разных браузерах. Современные версии корректно работают с альфа-каналом, но при использовании кэширования старая версия картинки может «залипнуть» — после замены PNG очистите кэш браузера или обновите страницу с принудительной перезагрузкой (Ctrl+F5).

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

Типичные ошибки и как их избежать

Самая частая ошибка — сохранение в PNG-8 с параметром «без прозрачности» или конвертация через онлайн-сервисы, которые сжимают файл и теряют альфа-канал. Если после «оптимизации» картинки фон стал белым — пересохраните её из исходника с 32-битной глубиной.

Вторая ошибка — использование JPEG где-то в цепочке. JPEG в принципе не поддерживает прозрачность: если PNG хоть раз сохранили как JPEG и обратно, прозрачность потеряна безвозвратно, и фон придётся удалять заново.

Третья ошибка — белый фон, нарисованный вручную. Иногда «прозрачную» картинку делают, заливая фон белым цветом под цвет интерфейса. Такая картинка выглядит нормально только на одном фоне и ломается при смене темы, печати или отображении на цветной панели.

Типичные ошибки при работе с прозрачными PNG в 1С
01
Сохранение в PNG-8 или JPEG — альфа-канал теряется, фон становится сплошным
02
Прогон файла через онлайн-сжатие без проверки — сервис может удалить прозрачность
03
Использование белого фона вместо настоящей прозрачности — картинка ломается на цветных панелях и при печати
04
Подготовка иконки в большом размере — при уменьшении платформой появляются рваные края
05
Отсутствие проверки в веб-клиенте — старая картинка остаётся в кэше браузера, и кажется, что замена не сработала

Проверка результата в режиме предприятия

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

Дополнительно проверьте картинку на элементах с разным фоном: командная панель, группа формы, табличное поле. Если картинка используется в печатной форме, сформируйте документ и посмотрите предварительный просмотр — при печати полупрозрачные области могут выглядеть иначе, чем на экране.

FAQ

Поддерживает ли 1С 8 прозрачность в формате GIF?

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

Почему после замены картинки в конфигураторе в режиме предприятия видна старая?

Чаще всего не обновлена конфигурация базы данных (F7 в конфигураторе) или клиентский кэш держит старую версию. Перезапустите сеанс, а в веб-клиенте обновите страницу с Ctrl+F5. Если не помогло — очистите кэш метаданных клиента.

Какого размера делать иконки для кнопок в управляемых формах?

Ориентируйтесь на 16×16 пикселей для стандартных кнопок командных панелей и 32×32 для крупных кнопок. Платформа умеет масштабировать, но уменьшение большой картинки даёт худшее качество, чем иконка, нарисованная сразу в целевом размере.

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

Нет, встроенных инструментов редактирования альфа-канала в платформе нет. Объект «Картинка» позволяет загрузить, сохранить и преобразовать формат, но не удалить фон. Подготовку файла нужно выполнять во внешнем графическом редакторе.

Что делать, если прозрачная картинка при печати выходит с чёрным фоном?

Такое встречается при выводе в табличный документ через некоторые способы вставки. Попробуйте вставлять картинку через рисунок табличного документа с типом «Картинка» и проверьте, что файл сохранён именно как PNG-32. Если проблема сохраняется, замените полупрозрачные края на полностью прозрачные.

Влияет ли прозрачность на размер базы и скорость работы?

Альфа-канал немного увеличивает размер PNG-файла по сравнению с версией без прозрачности, но для иконок разница незначительна. На скорость отрисовки интерфейса прозрачность заметного влияния не оказывает; проблемы с производительностью обычно связаны с использованием очень больших изображений.

Итог

Что важно запомнить

Прозрачность задаётся не в 1С, а в самом PNG-файле: сохраняйте картинку как PNG с 32-битной глубиной цвета, проверяйте фон по «шахматной доске» в редакторе, подключайте файл через общие картинки и проверяйте результат во всех используемых клиентах.