У меня есть изображение в Canvas, мне надо его перевести в Bitmap. Везде написан один и тот же код, где при переводе используется PixelFormats.Pbgra32. Данный параметр мне очень мешает, т.к. из-за него все цветовые компоненты пикселя меняют своё значение и мой Bitmap получается не таким, каким он есть на самом деле. Как мне доставать Bitmap из Canvas, чтобы ни один пиксел при этом не был изменён?
public static System.Drawing.Bitmap GetBitmapFromCanvas(Canvas canvas)
{
Transform transform = canvas.LayoutTransform;
canvas.LayoutTransform = null;
Size size = new Size(canvas.Width, canvas.Height);
canvas.Measure(size);
canvas.Arrange(new Rect(size));
RenderTargetBitmap renderBitmap =
new RenderTargetBitmap(
(int)size.Width,
(int)size.Height,
96d,
96d,
PixelFormats.Pbgra32);
renderBitmap.Render(canvas);
System.Drawing.Bitmap result;
using (MemoryStream outStream = new MemoryStream())
{
PngBitmapEncoder encoder = new PngBitmapEncoder();
encoder.Frames.Add(BitmapFrame.Create(renderBitmap));
encoder.Save(outStream);
result = new System.Drawing.Bitmap(outStream);
}
canvas.LayoutTransform = transform;
return result;
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Какие существуют виды рекламных бордов и как выбрать подходящий?
Делаю парсинг текстового файлаНужно задать условие: "если строка начинается с числа" и тд
Мені потрібно застосувати алгоритм швидкого сортування послідовності, як це написати?
Здравствуйте, столкнулся с проблемой, что нужно использовать массив в двух piblic`ах одновременно, не знаю как это сделать, visual studio не находит...