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); } }
public void CopyFromImage_Test() { using (var bitmap = new Bitmap(width: 200, height: 200)) { // MemoryImage をエラー無く作成できることをテストする using (var image = MemoryImage.CopyFromImage(bitmap)) { } } }
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); } }