using Pilz.UI.Symbols; namespace Pilz.UI.WinForms.Symbols; public abstract class SymbolFactory : BaseSymbolFactory, ISymbolFactory { public virtual Image? GetImage(TSymbols svgImage, SymbolSize size) { return GetImage(svgImage, ResolveCommonSize(size)); } public virtual Image? GetImage(TSymbols svgImage, Size size) { using var stream = GetImageRessourceStream(svgImage); if (stream is null) return null; var img = Image.FromStream(stream); if (!size.IsEmpty) { var img2 = new Bitmap(size.Width, size.Height); using var g = Graphics.FromImage(img2); g.DrawImage(img2, 0, 0, size.Width, size.Height); img.Dispose(); img = img2; } return img; } }