Как сделать мое изображение прозрачным? - PullRequest
1 голос
/ 20 октября 2011

Я знаю, как сделать элемент управления изображением прозрачным в C #, но есть ли способ сделать изображение (файл .jpeg, а не элемент управления изображением) прозрачным? Или есть ли способ, когда я делаю элемент управления изображения прозрачным, чтобы создать новое изображение, сохранить его по некоторому пути и передать ему содержимое другого элемента управления изображением?

Ответы [ 3 ]

4 голосов
/ 20 октября 2011

Файл JPEG не может быть прозрачным.Однако если вы сохраните его как изображение PNG, у него будет канал прозрачности.

GIFS также поддерживает прозрачность, но только либо полностью непрозрачную, либо полностью прозрачную.Ничего промежуточного.

PNG - ваш лучший выбор, ИМО.

1 голос
/ 20 октября 2011

Вы можете установить свойство непрозрачности Image-Controls, чтобы просматривать его с прозрачностью. Но чтобы получить файл изображения с прозрачностью, вам нужно будет отобразить его в новый файл.

Вот пример, как вы можете это сделать.

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);
}
0 голосов
/ 20 октября 2011

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...