0

jpg質問は、画像またはgif画像をにドラッグする場合、この 2 つの画像形式を区別する方法inkcanvasですか? 実行すると、gif画像をにドラッグしましたinkcanvasが、最初の状態にはなりませんでした。それはelse ifに行きました。

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);        
}
4

1 に答える 1

0

まず第一に、値MediaElement gifを確認する前に行を作成するため、常にelse条件に入りgif.Sourceます。したがって、現時点では常に null であり、常に else 条件になります。

さて、あなたの質問のために

この2つの画像形式を区別する方法は?

この回答が役立つと思います:ストリームから取得した画像形式をどのように知ることができますか? あなたの場合、それは次のようなものかもしれません:

    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
    }
于 2014-08-21T06:48:25.540 に答える