Как сделать прозрачный фон winforms

Обновлено: 05.07.2024

Я хотел сделать мои окна прозрачными, поэтому удалил границы, элементы управления и все остальное, оставив только поле форм, затем попытался сделать BackColor и TransparencyKey прозрачными, но это не сработало, поскольку BackColor не будет принимать прозрачный цвет. После поиска вокруг я нашел это в MSDN:

К несчастью, это тоже не сработало. Я все еще получаю серый или любой другой выбранный цвет фона.

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

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

Надеюсь, кто-нибудь может осветить мой путь.

изображение удалено, поскольку проблема решена

Способ, который я использовал ранее, состоит в том, чтобы использовать дикий цвет (цвет, который никто в здравом уме не использовал бы) для BackColor, а затем установить для него ключ прозрачности.

Простое решение для получения прозрачного фона в форме окон - переписать OnPaintBackground метод как это:

(Обратите внимание, что base.OnpaintBackground(e) удален из функции)

Я пробовал решения выше (а также) много других решений из других постов.

В моем случае я сделал это со следующей настройкой:

Вот мое решение:

В конструкторы добавьте эти две строки:

В вашей форме добавьте этот метод:

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

Ты если крутой такой, может не будешь выпендриваться и эти строчки две покажешь ? Нет ты сейчас начнешь верещать мол я тут не там Вам секретные коды за Вас выдумывать. Бл. ь на этом форме как на мусорной свалке. 90% разговоров - полный хлам и флуд. Какого х. а Вы со своими умными замечаниями типа "ищи в инете", "сам подумай" и т.д. лезите. На кой х..р тогда форум то этот нужен ?

Ты если крутой такой, может не будешь выпендриваться и эти строчки две покажешь ? Нет ты сейчас начнешь верещать мол я тут не там Вам секретные коды за Вас выдумывать. Бл. ь на этом форме как на мусорной свалке. 90% разговоров - полный хлам и флуд. Какого х. а Вы со своими умными замечаниями типа "ищи в инете", "сам подумай" и т.д. лезите. На кой х..р тогда форум то этот нужен ?

Нет. Это совсем не то. Я уже про енто говорил. Чуток изменим код

Почему я не могу установить BackColor Label на Transparent? Я сделал это раньше, но теперь он просто не хочет.

Я создал новый UserControl, добавил к нему индикатор прогресса и ярлык. Когда я устанавливаю BackColor метки на прозрачный, он по-прежнему остается серым =/Почему это?

То, что я хотел, было иметь ярлык над панелью progress, чтобы его текст был "в" панели прогресса.

ОТВЕТЫ

Ответ 1

WinForms на самом деле не поддерживает прозрачные элементы управления, но вы можете сделать прозрачный контроль самостоятельно. См. мой ответ здесь.

В вашем случае вы, вероятно, должны подклассировать индикатор выполнения и переопределить метод OnPaint, чтобы нарисовать текст на панели выполнения.

Ответ 2

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

Ответ 3

Самое простое решение:

Установите цвет фона для прозрачности в визуальном редакторе или в конструкторе вашей формы:

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

Это правда, что это не настоящая прозрачность, как в DirectX. Результат, который вы видите на дисплее, состоит только из двух слоев. Вы не можете подытожить более двух уровней с этим подходом (каждый слой имеет свою собственную прозрачность, определяемую альфа-параметром). Но это подходит для многих практических ситуаций, с которыми вы можете столкнуться в программировании Winforms.

Ответ 4

Используйте LinkLabel, а не нормальную метку

Ответ 5

Если вы хотите сосредоточиться на разработке своего приложения Windows, я предлагаю вам использовать WPF.

Выполнение прозрачных преобразований в WPF очень просто.

Ответ 6

Вот прозрачный элемент управления, который я написал некоторое время назад, который отображает повернутый текст. Большая часть кода происходит от здесь, хотя IIRC мне пришлось сделать несколько настроек, чтобы заставить его работать.

Ответ 7

Это очень простое решение и отлично работает:

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

Переопределение CreateParams влияет на то, как будет создаваться окно для управления, это обеспечивает реальную прозрачность.

Ответ 8

Итак, как заметил комментарий к моему предыдущему ответу, Control - это поведение по умолчанию, и именно это я помню как прозрачный.

В любом случае, попробовали ли вы установить свойство фона вашего UserControl или контейнера, на котором находится ваш ярлык (Panel, Form, что?), ваш ярлык должен отражать этот цвет:)

Старый ответ: Это было некоторое время с тех пор, как я сделал winforms программирование, но, как я помню, метки прозрачны по умолчанию? таким образом, его единственный текст, который получает фактический цвет, и цвет фона, который имитирует все, что стоит за ним:)

Ответ 9

Можно сделать именно то, чего вы хотите достичь. Для управления требуется только немного времени. Можно создать элемент управления Label с прозрачным фоном и поместить его поверх элемента управления Progressbar.

Отметьте мой ответ на другой вопрос SO.

Ответ 10

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

Ответ 11

Выберите BackColor, перейдите на вкладку "Веб" и выберите "Прозрачный". Создает следующее.

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

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

Сделать фон изображения прозрачным

  • Часть 1. Как бесплатно сделать фон изображения прозрачным в Интернете
  • Часть 2. Как бесплатно удалить фон изображения в Photoshop
  • Часть 3. Как бесплатно использовать GIMP для создания прозрачного фона
  • Часть 4. Как бесплатно изменить фон изображения на прозрачный с помощью краски
  • Часть 5. Как бесплатно получить прозрачный фон с помощью Illustrator
  • Часть 6. Как бесплатно сделать фото фон прозрачным в PowerPoint
  • Часть 7. Как бесплатно стереть белый фон с помощью Publisher
  • Часть 8. Часто задаваемые вопросы о том, как сделать фон прозрачным

Часть 1. Как бесплатно сделать фон изображения прозрачным в Интернете

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

Здесь мы настоятельно рекомендуем использовать Бесплатная программа для удаления фона Aiseesoft онлайн, самый мощный инструмент для стирания фона, который подходит вам лучше всего. Благодаря передовой технологии распознавания изображений AI этот инструмент для удаления фона может значительно сэкономить время. Вы можете выполнить операцию стирания без особых усилий, не заплатив ни копейки. И в то же время он может защитить объект, который вы хотите сохранить, от повреждений.

Кроме того сделать фон прозрачным, встроенный редактор Aiseesoft Free Background Remover даже позволяет изменять фон на другой цвет или изображение по своему усмотрению. Вы можете изменять размер, обрезать, вращать и перемещать изображение для создания персонализированного контента.

Следующие ниже шаги помогут вам быстро приступить к работе.

Щелкните ссылку выше, чтобы перейти к Бесплатная программа для удаления фона Aiseesoft онлайн . Затем вы можете удалить фон с портрета или обычной фотографии. Здесь, чтобы продемонстрировать, мы включим Загрузить фото режим и удалите фон с фотографии торта.

Загрузить фото

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

Размер кисти

Теперь переместите указатель мыши в то место, которое хотите стереть. Вы увидите желтый кружок в верхней части фотографии. Затем нажмите и удерживайте левую кнопку мыши и перетащите ластик, чтобы стереть лишнюю часть области. После этого у вас получится идеальное фото торта с прозрачным фоном. Нажми на Сохраните кнопку, чтобы загрузить измененную фотографию на свой компьютер. Формат вывода по умолчанию: PNG .

Сохраните

  • Бесплатно и просто в использовании
  • Предварительный просмотр изменений изображения в реальном времени
  • Предлагайте несколько полезных функций редактирования и уточнения
  • Работайте в Windows, Mac и Linux
  • Не удается отрегулировать качество изображения

Часть 2. Как бесплатно удалить фон изображения в Photoshop

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

Но пока успокойтесь. Мы поделимся самым простым способом помочь вам удалить фон с помощью Photoshop. Кстати, следующая операция основана на Photoshop CS6.

Запустите Photoshop на вашем компьютере. Затем откройте изображение, которое хотите отредактировать с помощью этой программы. Затем дважды щелкните слой с изображением, если он заблокирован. Нажмите OK чтобы создать новый слой.

Открыть файл
Новый слой

Найдите инструмент выделения на левой панели инструментов и выберите Инструмент быстрого выбора . Затем нажмите и удерживайте левую кнопку мыши после нажатия на основной объект. Медленно перемещайте мышь, чтобы выбрать всю область, которую вы хотите сохранить. Пожалуйста, держитесь подальше от фона.

Инструмент быстрого выбора

Иногда вам может потребоваться включить Вычесть из режима выбора самостоятельно откорректировать края из-за неправильного автоматического выбора.

Включить вычитание

После этого щелкните выбор правой кнопкой мыши и выберите Выбрать инверсный . Теперь будет выбран фон изображения.

Выбрать инверсный

Нажмите Удалить на клавиатуре, чтобы удалить его. Не забудьте сохранить измененное изображение в новый файл. Просто зайдите в Файл > Сохранить как и выберите выходной формат как PNG .

Удалить фон

  • Универсальный редактор изображений
  • Инструмент для точного стирания
  • Иногда сложно установить и настроить
  • Бесплатная пробная версия длится 30 календарных дней

Часть 3. Как бесплатно использовать GIMP для создания прозрачного фона

GIMP расшифровывается как GNU Image Manipulation Program, бесплатный кроссплатформенный редактор изображений. Как и Photoshop, он также имеет множество сложных функций и настраиваемых параметров. Вот шаги, чтобы стереть фон.

Загрузите и установите GIMP на свой компьютер. Запустить его. Когда вы войдете в основной интерфейс, пожалуйста Откройте файл изображения в GIMP. Вы можете увеличивать / уменьшать масштаб, если размер изображения не подходит для текущего окна.

Затем перейдите в Слой > Прозрачность > Добавить альфа-канал чтобы добавить прозрачности вашему изображению.

Добавить альфа-канал

Интеллектуальные ножницы

Теперь вам нужно щелкнуть узел за узлом вокруг контура вашего основного объекта. Чтобы получить лучшее качество изображения, вы можете добавить больше узлов и сделать их ближе друг к другу. Затем, если вы дойдете до исходной точки, нажмите Enter на клавиатуре, чтобы преобразовать выделение.

Нажмите Узлы

Инвертировать

Удалить фон

  • Открытый исходный код и бесплатно
  • Поддержка сторонних плагинов
  • Отнимать много времени и энергии
  • Невозможно точно распознать сложное изображение

Часть 4. Как бесплатно изменить фон изображения на прозрачный с помощью краски

Фактически, этот метод предназначен для пользователей Windows. С предустановленным Рисовать программное обеспечение, вы можете сделать изображение с прозрачным фоном. Вам не нужно загружать какие-либо дополнительные программы на свой компьютер, если вы используете Windows 7 или более позднюю версию. Этот инструмент также является хорошим способом кадрировать картинки.

Найдите изображение, которое хотите улучшить, и откройте его с помощью Paint. Сначала выберите Выберите кнопку на панели инструментов. Включите Прозрачный выбор опцию.

Прозрачный выбор

Затем нажмите Выберите еще раз и выберите Выбор произвольной формы . Щелкните мышью и обведите область переднего плана. Когда вы закончите, вы увидите прямоугольник вокруг выбранной зоны.

Выбор произвольной формы

Нажмите на Порез кнопку, чтобы захватить выбранный объект. В настоящее время вы уже вырезали фон изображения.

Порез

Создайте новое изображение в Paint. Вставить (горячие клавиши: Ctrl + V ) захваченный объект на белый холст и перетащите его в нужное место. Экспорт файла изображения PNG.

Создать новое изображение

  • Невозможно обработать сложное изображение
  • Только для Windows

Часть 5. Как бесплатно получить прозрачный фон с помощью Illustrator

Хотя оба иллюстратор и Photoshop принадлежат Adobe, они не совсем похожи. Illustrator - это редактор векторной графики, который обычно используется для создания графики для печати, Интернета, мобильных устройств и т. Д. Тем не менее, вы все равно можете использовать его для борьбы с нежелательным фоном с помощью нескольких специальных навыков.

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

Инструмент Pen Tool

Щелкайте по краю основного объекта снова и снова, чтобы окружить объект переднего плана узлами и изогнутыми линиями. Вы можете использовать Zoom функция для повышения точности во время процесса. Чтобы завершить схему, еще раз щелкните первый узел.

Курсор мыши

Найдите объект в строке меню. Следующий, Обтравочная маска > MAKE . Теперь фон удален. Вы можете сохранить изображение на свой компьютер.

Обтравочная маска

  • Профессиональный инструмент
  • Высокая точность
  • Не бесплатно навсегда
  • Требуется время и терпение, чтобы добавить узлы по контуру

Часть 6. Как бесплатно сделать фото фон прозрачным в PowerPoint

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

Откройте PowerPoint и вставьте картинку с фоном. Нажмите на свою картинку, и вы перейдете к Формат изображения вкладка по умолчанию. Выберите вариант Удалить фон . PowerPoint автоматически распознает объект переднего плана.

Удалить фон

Фиолетовая часть будет стерта. Вам лучше проверить результат детектирования. При необходимости вы можете настроить выбор вручную с помощью усовершенствовать инструмент выше.

усовершенствовать

После завершения настройки вы можете применить изменения, нажав кнопку Хранить изменения кнопка рядом с Инструмент уточнения . Последняя работа - сохранить измененное изображение в формате PNG.

Хранить изменения

  • Работает только на Windows
  • Трудно отделить объект, когда изображение имеет низкую контрастность

Часть 7. Как бесплатно стереть белый фон с помощью Publisher

Последний метод, который мы собираемся вам представить, также входит в пакет Microsoft Office. Это называется Publisher , полезный инструмент для создания календарей, плакатов, поздравительных открыток и т. д.

Импортируйте изображение в Publisher. Затем щелкните изображение, которое хотите изменить, чтобы выбрать его.

Добавить изображение

Установить прозрачный цвет

Удалить фон

Сохраните измененное изображение как PNG. Если вам нужно, вы можете обрезать изображение PNG для улучшения состава.

Сохраните

  • Совместимо только с Windows
  • Фон должен быть сплошным

Часть 8. Часто задаваемые вопросы о том, как сделать фон прозрачным

1. Могу ли я получить изображение в формате JPG с прозрачным фоном?

Нет, не можешь. Вместо этого вы должны использовать PNG или GIF. Эти 2 формата поддерживают прозрачность.

2. Что такое PNG?

Когда вы ищете логотипы в Интернете, вы найдете большинство результатов в формате PNG. PNG - это сокращение от Portable Network Graphics, которое обычно используется для веб-дизайна. Лучшая часть этого типа файлов - то, что он может обеспечивать прозрачный фон.

3. Как избавиться от прозрачного фона?

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

Большинство методов, которые мы представили сегодня, основаны на системе Windows. Если вы уже установили на свой компьютер такое программное обеспечение, как Paint, PowerPoint и Publisher, вы можете им попробовать. Просто помните, что не все фоновые изображения можно удалить. Чтобы сделать прозрачный фон с помощью этих программ нужно следить за тем, чтобы у картинки был простой фон.

Что касается PS, Illustrator, GIMP и Aiseesoft Free Background Remover, они более профессиональные и мощные. Среди них проще понять Aiseesoft Free Background Remover. Он отлично работает как на Windows, так и на Mac. И вам не нужно устанавливать на свой компьютер какое-либо программное обеспечение.

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

Что вы думаете об этом посте.

Рейтинг: 4.7 / 5 (на основе голосов 119) Подпишитесь на нас в

Не знаете, как конвертировать PNG в GIF? Не беспокойся Просто следуйте этой статье и получите эти методы для преобразования PNG в GIF легко.

Как объединить две фотографии в одну? Вот подробное руководство по объединению изображений с тремя приложениями для слияния фотографий на iPhone и Android.

Что такое PNG? В чем разница между PNG и JPG? Как конвертировать PNG в формат JPG? Пусть лучший учебник дает вам удовлетворительные ответы.

Изменить фон изображения

ящик

Видео конвертер Ultimate

Video Converter Ultimate - превосходный видео конвертер, редактор и энхансер для преобразования, улучшения и редактирования видео, DVD и музыки в 1000 форматов и более.

Я создал простого джойстика в Windows Form User-Control (состоящий из переключателя и трех меток и одного индикатора выполнения).

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

enter image description here

UserControl уже поддерживает это, флаг ControlStyles.SupportsTransparentBackColor уже включен. Все, что вам нужно сделать, – установить свойство BackColor в Color.Transparent.

В конструкторе установите стиль управления для поддержки прозрачного backcolor

а затем установите Background в прозрачный цвет

Более сложный подход (и, возможно, рабочий) описывается здесь – с переопределением CreateParams и OnPaint .

Почему все эти вещи?
Класс UserControl имеет свойство Region.
Установите это для того, что вам нравится, и никаких других настроек не требуется.

Результат такой же, как на изображении ниже:

введите описание изображения здесь


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

Читайте также: