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

            using (var bitmap = new Bitmap(width: 200, height: 200))
            {
                Assert.Raises <EventArgs>(
                    x => mediaSelector.BeginSelecting += x,
                    x => mediaSelector.BeginSelecting -= x,
                    () => mediaSelector.BeginSelection(bitmap)
                    );
            }

            Assert.True(mediaSelector.Visible);
            Assert.True(mediaSelector.Enabled);

            // 2 ページ目まで選択可能な状態
            var pages = mediaSelector.ImagePageCombo.Items;

            Assert.Equal(new[] { "1", "2" }, pages.Cast <object>().Select(x => x.ToString()));

            // 1 ページ目が表示されている
            Assert.Equal("1", mediaSelector.ImagePageCombo.Text);
            Assert.Matches(@"^<>MemoryImage://\d+.png$", mediaSelector.ImagefilePathText.Text);

            using (var bitmap = new Bitmap(width: 200, height: 200))
            {
                using var image = MemoryImage.CopyFromImage(bitmap);
                Assert.Equal(image, mediaSelector.ImageSelectedPicture.Image);
            }
        }
        private MemoryImageMediaItem CreateMemoryImageMediaItem(Image image, bool noMsgBox)
        {
            if (image == null)
            {
                return(null);
            }

            MemoryImage memoryImage = null;

            try
            {
                // image から png 形式の MemoryImage を生成
                memoryImage = MemoryImage.CopyFromImage(image);

                return(new MemoryImageMediaItem(memoryImage));
            }
            catch
            {
                memoryImage?.Dispose();

                if (!noMsgBox)
                {
                    MessageBox.Show("Unable to create MemoryImage.");
                }
                return(null);
            }
        }
Beispiel #3
0
 public void CopyFromImage_Test()
 {
     using (var bitmap = new Bitmap(width: 200, height: 200))
     {
         // MemoryImage をエラー無く作成できることをテストする
         using (var image = MemoryImage.CopyFromImage(bitmap)) { }
     }
 }
Beispiel #4
0
 public void ImageFormat_CopyFromImageTest()
 {
     using (var bitmap = new Bitmap(width: 200, height: 200))
         using (var image = MemoryImage.CopyFromImage(bitmap))
         {
             // CopyFromImage から作成した MemoryImage は PNG 画像として扱われる
             Assert.Equal(ImageFormat.Png, image.ImageFormat);
             Assert.Equal(".png", image.ImageFormatExt);
         }
 }