33 lines
846 B
C#
33 lines
846 B
C#
using Pilz.UI.Symbols;
|
|
|
|
namespace Pilz.UI.WinForms.Symbols;
|
|
|
|
public abstract class SymbolFactory<TSymbols> : BaseSymbolFactory<TSymbols>, ISymbolFactory<TSymbols>
|
|
{
|
|
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;
|
|
}
|
|
}
|