コード例 #1
0
ファイル: ImageAdapter.cs プロジェクト: itdimk/AMAGE
        public void FromStream(Stream input)
        {
            BitmapDecoder decoder = DecoderSelector.GetDecoder(input, BitmapCreateOptions.None,
                                                               BitmapCacheOption.None);

            FromBitmapSource(decoder.Frames[0]);
        }
コード例 #2
0
ファイル: ImageListAdapter.cs プロジェクト: itdimk/AMAGE
        public void FromStream(Stream input)
        {
            BitmapDecoder decoder = DecoderSelector.GetDecoder(input, BitmapCreateOptions.None,
                                                               BitmapCacheOption.None);

            foreach (BitmapFrame frame in decoder.Frames)
            {
                IImage image = Image.Create();
                image.FromBitmapSource(frame);


                BitmapMetadata metadata = frame.Metadata as BitmapMetadata;

                if (metadata?.ContainsQuery("/grctlext/Delay") == true)
                {
                    object delay = metadata.GetQuery("/grctlext/Delay");
                    image.AnimationDelay = (int)(Convert.ToDouble(delay) * 10.0);
                }

                Add(image);
            }

            Coalesce();
        }