OpenTween.MemoryImage.CopyFromStream C# (CSharp) Method

CopyFromStream() public static method

指定された Stream から MemoryImage を作成します。
ストリームの内容はメモリ上に展開した後に使用されるため、 引数に指定した Stream を MemoryImage より先に破棄しても問題ありません。
public static CopyFromStream ( Stream stream ) : MemoryImage
stream Stream 読み込む対象となる Stream
return MemoryImage
        public static MemoryImage CopyFromStream(Stream stream)
        {
            var memstream = new MemoryStream();

            var buffer = new byte[1024];
            int length;
            while ((length = stream.Read(buffer, 0, buffer.Length)) > 0)
            {
                memstream.Write(buffer, 0, length);
            }

            return new MemoryImage(memstream);
        }

Usage Example

示例#1
0
        public void ImagePathInput_ReplaceFileMediaItemTest()
        {
            using var twitter       = new Twitter();
            using var mediaSelector = new MediaSelector { Visible = false, Enabled = false };
            twitter.Initialize("", "", "", 0L);
            mediaSelector.Initialize(twitter, TwitterConfiguration.DefaultConfiguration(), "Twitter");

            mediaSelector.BeginSelection(new[] { "Resources/re.gif" });

            // 既に入力されているファイルパスの画像
            var image1 = mediaSelector.ImageSelectedPicture.Image;

            // 別の画像のファイルパスを入力
            mediaSelector.ImagefilePathText.Text = Path.GetFullPath("Resources/re1.png");
            TestUtils.Validate(mediaSelector.ImagefilePathText);

            // 入力したパスの画像が表示される
            using (var imageStream = File.OpenRead("Resources/re1.png"))
            {
                using var image2 = MemoryImage.CopyFromStream(imageStream);
                Assert.Equal(image2, mediaSelector.ImageSelectedPicture.Image);
            }

            // 最初に入力されていたファイルパスの表示用の MemoryImage は破棄される
            Assert.True(image1 !.IsDisposed);
        }
All Usage Examples Of OpenTween.MemoryImage::CopyFromStream