#c# #image
#c# #изображение
Вопрос:
Я знаю, как сделать элемент управления изображением прозрачным в C #, но есть ли способ сделать изображение (файл .jpeg, а не элемент управления изображением) прозрачным? Или, есть ли способ, когда я делаю элемент управления изображением прозрачным, создать новое изображение, сохранить его по некоторому пути и передать ему содержимое другого элемента управления изображением?
Ответ №1:
Файл JPEG не может быть прозрачным. Однако, если вы сохраните его как изображение в формате PNG, у него будет канал прозрачности.
GIF-файлы также поддерживают прозрачность, но только либо полностью непрозрачные, либо полностью прозрачные. Ничего промежуточного.
PNG — ваш лучший выбор здесь, IMO.
Комментарии:
1. Хорошо, вы знаете, как сделать изображение, а не элемент управления изображением прозрачным?
2. Что вы используете? WinForms? WPF?
Ответ №2:
Вы можете установить свойство непрозрачности элементов управления изображением, чтобы просматривать его с прозрачностью. Но чтобы получить файл изображения с прозрачностью, вам придется преобразовать его в новый файл.
Вот пример, как вы можете это сделать.
Image image = new Image(); //or however you get this
image.Opacity = 0.5;
RenderTargetBitmap bmp = new RenderTargetBitmap(image.Source.Width, image.Source.Height, 96, 96, PixelFormats.Pbgra32);
bmp.Render(image);
PngBitmapEncoder png = new PngBitmapEncoder();
png.Frames.Add(BitmapFrame.Create(bmp));
using (Stream fs= File.Create("test.png"))
{
png.Save(fs);
}
Ответ №3:
Есть свойство transparencycolor. Это то, что вам нужно, если вы хотите отобразить изображение в элементе управления.
Комментарии:
1. Хорошо, вы знаете, как сделать изображение, а не элемент управления изображением прозрачным?