Comment convertir WicImagingBitmap à + Bitmap ou Gdi un flux?
-
27-10-2019 - |
Question
Je suis un développeur .net et j'utilise WindowsAPICodePackage WIC pour rendre les images. Je veux convertir WIC ImagingBitmap à un bitmap gdi + ou de MemoryStream à un au lieu d'utiliser sa propre méthode « SaveToFile ». Est-il possible? Voici mon code, s'il vous plaît aider:
int width = 256;
int height = 256;
D2DFactory d2DFactory = D2DFactory.CreateFactory(D2DFactoryType.SingleThreaded);
RenderTargetProperties renderTargetProperties = new RenderTargetProperties
{
PixelFormat = new PixelFormat(Format.B8G8R8A8UNorm, AlphaMode.Premultiplied),
Usage = RenderTargetUsages.GdiCompatible,
RenderTargetType = RenderTargetType.Software
};
ImagingFactory wicFactory = ImagingFactory.Create();
ImagingBitmap imagingBitmap = wicFactory.CreateImagingBitmap((uint)width
, (uint)height, Microsoft.WindowsAPICodePack.DirectX.WindowsImagingComponent.PixelFormats.Pbgra32Bpp, BitmapCreateCacheOption.CacheOnLoad);
RenderTarget renderTarget = d2DFactory.CreateWicBitmapRenderTarget(imagingBitmap, renderTargetProperties);
renderTarget.BeginDraw();
Random r = new Random();
for (int i = 0; i < 10; i++)
{
renderTarget.DrawLine(new Point2F(r.Next(0, width), r.Next(0, height)), new Point2F(r.Next(0, width), r.Next(0, height))
, renderTarget.CreateSolidColorBrush(new ColorF(1, 1, 0)), 4);
}
renderTarget.EndDraw();
string imageFilePath = @"c:\wic.png";
imagingBitmap.SaveToFile(wicFactory, ContainerFormats.Png, imageFilePath);
Merci,
La solution
Voici ce que je trouve, espère que cela aide. http://www.leadtools.com/help/leadtools /v15/DH/Wpf/TO/Tutorial_Load.htm
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow