コード例 #1
0
        /// <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);
        }
コード例 #2
0
        /// <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;
        }