/// <summary> /// <para>Loads Font from given Zip-File and Entry.</para> /// </summary> private Font LoadFontFrom(ZipFile zipFile, ZipEntry fontEntry) { string ResourceName = Path.GetFileNameWithoutExtension(fontEntry.Name).ToLowerInvariant(); if (FontCache.Fonts.Contains(ResourceName)) { return(null); } var byteBuffer = new byte[zipBufferSize]; Stream zipStream = zipFile.GetInputStream(fontEntry); //Will throw exception is missing or wrong password. Handle this. var memStream = new MemoryStream(); StreamUtils.Copy(zipStream, memStream, byteBuffer); memStream.Position = 0; Font loadedFont = Font.FromStream(ResourceName, memStream, (int)memStream.Length, 9, false); loadedFont.AntiAlias = true; loadedFont.Refresh(); memStream.Close(); zipStream.Close(); memStream.Dispose(); zipStream.Dispose(); return(loadedFont); }
/// <summary> /// <para>Loads the embedded base files.</para> /// </summary> public void LoadBaseResources() { Assembly _assembly = Assembly.GetExecutingAssembly();; Stream _stream; _stream = _assembly.GetManifestResourceStream("SS14.Client.Services._EmbeddedBaseResources.bluehigh.ttf"); if (_stream != null) { _fonts.Add("base_font", Font.FromStream("base_font", _stream, (int)_stream.Length, 10)); } _stream = null; _stream = _assembly.GetManifestResourceStream("SS14.Client.Services._EmbeddedBaseResources.noSprite.png"); if (_stream != null) { Image nospriteimage = Image.FromStream("nospriteimage", _stream, (int)_stream.Length); _images.Add("nosprite", nospriteimage); _sprites.Add("nosprite", new Sprite("nosprite", nospriteimage)); } _stream = null; }