Способ преобразовать растровое место в программное обеспечение?C#

Место общения программистов C#
Ответить
Anonymous
 Способ преобразовать растровое место в программное обеспечение?

Сообщение Anonymous »

У меня есть метод, который применяет размытый эффект к растровому разговору , и я хочу сохранить это изображение (как PNG) для диска. Я пробовал все виды хитростей, чтобы заставить его работать, но единственный способ, которым я смог сделать это, - это применить растровый к источнику управления в сетке и Затем сохраните это, что очень неуклюже, но это работает. Surfacebrush визуальный через композитор , но я решил, что могу преобразовать его, а затем сохранить, поскольку программный обеспечение предлагает способ написать на диск; Но сохранение непосредственно без шага конверсии было бы предпочтительным. Это один из методов преобразователя, которые я пробовал, но он не работает: < /p>

Код: Выделить всё

     static async Task ConvertBitmapImageToSoftwareBitmapAsync(BitmapImage bitmapImage)
{
try
{
if (bitmapImage.PixelWidth == 0 || bitmapImage.PixelHeight == 0)
{
Debug.WriteLine($"[WARNING] The width and height are not valid.");
Debugger.Break();
}

InMemoryRandomAccessStream memoryStream = new InMemoryRandomAccessStream();
BitmapEncoder encoder = await BitmapEncoder.CreateAsync(BitmapEncoder.PngEncoderId, memoryStream);

// Create dummy SoftwareBitmap (since BitmapImage doesn't have direct pixel access)
SoftwareBitmap softwareBitmap = new SoftwareBitmap(BitmapPixelFormat.Bgra8, bitmapImage.PixelWidth, bitmapImage.PixelHeight, BitmapAlphaMode.Premultiplied);

encoder.SetSoftwareBitmap(softwareBitmap);
await encoder.FlushAsync();
return softwareBitmap;
}
catch (Exception ex)
{
Debug.WriteLine($"[ERROR] {ex.Message}");
return null;
}
}
Лично я не считаю, что это возможно, так как растровый не имеет urisource , но я могу ошибаться.

Подробнее здесь: https://stackoverflow.com/questions/794 ... warebitmap
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»