当前位置:  开发笔记 > 编程语言 > 正文

WPF中BitmapFrame和BitmapImage之间的区别

如何解决《WPF中BitmapFrame和BitmapImage之间的区别》经验,为你挑选了1个好方法。

WPF中的BitmapFrame和BitmapImage有什么区别?你会在哪里使用(即为什么你会使用BitmapFrame而不是BitmapImage?)



1> Frank Kruege..:

如果你需要获取位,甚至ImageSource,你应该坚持使用抽象类BitmapSource如果你只想绘制它.

实现BitmapFrame只是实现的面向对象性质.您不应该真正需要区分实现.BitmapFrames可能包含一些额外的信息(元数据),但通常只有成像应用程序会关心.

你会注意到从BitmapSource继承的其他类:

BitmapFrame

BitmapImage的

CachedBitmap

ColorConvertedBitmap

CroppedBitmap

FormatConvertedBitmap

RenderTargetBitmap

TransformedBitmap

WriteableBitmap的

您可以通过构造BitmapImage对象从URI获取BitmapSource:

Uri uri = ...;
BitmapSource bmp = new BitmapImage(uri);
Console.WriteLine("{0}x{1}", bmp.PixelWIdth, bmp.PixelHeight);

BitmapSource也可以来自解码器.在这种情况下,您间接使用BitmapFrames.

Uri uri = ...;
BitmapDecoder dec = BitmapDecoder.Create(uri, BitmapCreateOptions.None, BitmapCacheOption.Default);
BitmapSource bmp = dec.Frames[0];
Console.WriteLine("{0}x{1}", bmp.PixelWIdth, bmp.PixelHeight);

推荐阅读
农大军乐团_697
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有