.net 如何使用WPF在后台加载不同的图像、PNG、GIF和JPG?
我正在使用WPF在.net 如何使用WPF在后台加载不同的图像、PNG、GIF和JPG?,.net,wpf,image,background,.net,Wpf,Image,Background,我正在使用WPF在背景中加载图像,使用 问题是URL字符串可能是PNG、GIF或JPG,我需要使用JpegBitmapDecoder、PngBitmapDecoder或GifBitmapDecoder。如果未使用正确的解码器,则会发生FileFormatException 我可以在字符串上使用扩展名,但如果用户的GIF图像扩展名为.png,则仍可能发生错误 您知道如何解决这个问题吗?您可以二进制读取文件本身的开始部分,并将其与各种文件规范进行比较 我只是检查了一些JPG文件而没有阅读规范,这只是
背景中加载图像
,使用
问题是URL字符串可能是PNG、GIF或JPG,我需要使用JpegBitmapDecoder
、PngBitmapDecoder
或GifBitmapDecoder
。如果未使用正确的解码器,则会发生FileFormatException
我可以在字符串上使用扩展名,但如果用户的GIF图像扩展名为.png,则仍可能发生错误
您知道如何解决这个问题吗?您可以二进制读取文件本身的开始部分,并将其与各种文件规范进行比较
我只是检查了一些JPG文件而没有阅读规范,这只是一个非常基本的匹配模式,因此不值得信任,但作为一个例子(在实际应用中,当然你不应该阅读整个流程):
因此,前2个结果为真,第3个结果为假:
IsJpg "http://www.flatpackrevolution.com/wp-content/uploads/2007/10/pow.jpg"
IsJpg "http://bedzine.com/blog/wp-content/uploads/2008/04/4-17-stack-drawers-1-1.jpg"
IsJpg "http://sstatic.net/so/img/logo.png"
您可以二进制读取文件本身的开始部分,并将其与各种文件规范进行比较
我只是检查了一些JPG文件而没有阅读规范,这只是一个非常基本的匹配模式,因此不值得信任,但作为一个例子(在实际应用中,当然你不应该阅读整个流程):
因此,前2个结果为真,第3个结果为假:
IsJpg "http://www.flatpackrevolution.com/wp-content/uploads/2007/10/pow.jpg"
IsJpg "http://bedzine.com/blog/wp-content/uploads/2008/04/4-17-stack-drawers-1-1.jpg"
IsJpg "http://sstatic.net/so/img/logo.png"