WPF JpegBitmapDecoder创建不同的高度和宽度

时间:2011-10-21 04:24:47

标签: .net wpf image image-processing jpeg

我正在尝试读取Jpeg图像并使用以下代码将其绑定到矩形的fill属性:

Dim filePath as string = "PathToJpeg.jpg"     
Dim imageStreamSource As New FileStream(filePath, FileMode.Open, FileAccess.Read, FileShare.Read)
Dim decoder As New JpegBitmapDecoder(imageStreamSource, BitmapCreateOptions.PreservePixelFormat, BitmapCacheOption.Default)
Dim bitmapSource As BitmapSource = decoder.Frames(0)

当我用较小的图像阅读此内容时,此功能正常。但是当我将它指向一个3840到3024的图形时,bitmmapSource.Height读取924而bitmapSource.Width读取1174

据我所知,它几乎就像1024x768是上限

我错过了一些明显的东西吗?

1 个答案:

答案 0 :(得分:1)

我真的不知道你为什么要显式使用JpegBitmapDecoder。我的C#代码非常简单:

BitmapSource bitmapSource = new BitmapImage(new Uri(@"PathToJpeg.jpg"));

BitmapSource类提供两个width和height属性:

宽度:以与设备无关的单位(每单位1/96英寸)获取位图的宽度。 (From MSDN

PixelWidth:以像素为单位获取位图的宽度。(From MSDN

我使用111 MPixel图像进行了测试,效果很好。