如果我要将jpg
图片或gif
图片拖到inkcanvas
,问题是如何区分这2种图片格式?
当我运行它时,我将gif
图像拖到inkcanvas
但它没有进入第一个条件。它转到了其他地方。
gif
被声明为
Viewbox vbMedia = new Viewbox();
MediaElement gif = new MediaElement();
if (gif.Source == new Uri("E:\\New folder\\Drawing\\Images\\Themes\\Gif\\bruce.gif", UriKind.Absolute))
{
vbMedia.Width = 70;
vbMedia.Height = 70;
gif.LoadedBehavior = MediaState.Play;
gif.UnloadedBehavior = MediaState.Play;
vbMedia.RenderTransform = group;
vbMedia.Child = gif;
this.InkCanvas1.Children.Add(vbMedia);
}
else
{
image.Width = 70;
image.Height = 70;
image.RenderTransform = group;
this.InkCanvas1.Children.Add(image);
}
答案 0 :(得分:0)
首先,您始终处于其他状态,因为您在检查MediaElement gif
值之前创建了gif.Source
行。因此,此时它始终为空,并且您总是处于其他状态。
现在提出你的问题
如何区分这2种图像格式?
我认为这个答案可能会对您有所帮助:How can I know what image format I get from a stream? 在你的情况下,它可能是这样的:
System.Drawing.Image image = System.Drawing.Image.FromFile("E:\\New folder\\Drawing\\Images\\Themes\\Gif\\bruce.gif");
if (ImageFormat.Gif.Equals(image.RawFormat))
{
// GIF
}
else if (ImageFormat.Jpeg.Equals(image.RawFormat))
{
// JPEG
}