如何获得图片的宽高像素数??

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何获得图片的宽高像素数??相关的知识,希望对你有一定的参考价值。

我如下写的代码: BitmapImage bitmap = new BitmapImage(new Uri("xxx.jpg", UriKind.RelativeOrAbsolute)); Image a = new Image(); a.Source = bitmap;不论是bitmap.PixelWidth,a.ActualWidth还是a.Width 都不能获得我想要的结果。请问应该怎样获得图片的实际宽高,以及如何获得显示后的图片宽高??

  以acd看图为例:

    在默认状态下,选中图片后,在状态栏会显示图像的信息,有图像KB大小也有长宽尺寸,

    不过这样一个一个查看太慢了,按Alt + O快捷键或者选择工具菜单>选项,打开选项设置窗口,

    选择左侧文件列表>缩略图显示,再点击右侧的缩略图信息

    在弹出的选取缩略图显示信息中展开图像属性:勾图像大小,展开文件属性:勾选大小(KB)

    点击添加按钮,添加到当前显示明细中,点击确定,返回选项窗口,点击确定。

    看缩略图下面很清楚的显示出了图像大小,也就是长宽像素值,还有KB大小。

参考技术A BitmapImage是异步加载的,要图片打开以后才能获取像素数,处理BitmapImage的ImageOpened event,在事件处理函数中获取图片宽高比如界面上有一个image1的Image控件[mw_shl_code=csharp,true] protected override void OnNavigatedTo(NavigationEventArgs e) bitmap = new BitmapImage(); bitmap.UriSource = new Uri("ms-appx:///SplashScreenImage.jpg", UriKind.RelativeOrAbsolute); bitmap.ImageOpened += image1_ImageOpened; image1.Source = bitmap; private void image1_ImageOpened(object sender, RoutedEventArgs e) int height = bitmap.PixelHeight; int width = bitmap.PixelWidth; image1.Width = width; image1.Height = height; [/mw_shl_code] 参考技术B getImageSize();是异步方法,m.ShowAsync();所在的位置获取到的一般都是0.......你需要等到异步方法执行完毕了,才能去获取... 参考技术C Windows Phone中是支持立即创建图片的但是Windows 8中却只支持DelayCreation,如果是DelayCreation就必须要ImageOpened以后才可以获取图片大小相关信息 参考技术D 把它填充到容器里,给容器固定的高度就好了。

convert 命令 pdf转图片 指定生成图片的宽高,

convert -resize 60%x60% -colorspace RGB -background white -flatten -density 150 -quality 100 a.pdf[1] a.png 
convert -resize 60%x60% -colorspace RGB -background white -flatten -density 150 -quality 100 a.pdf[1] a.png
这样转出来的俩个像素不一样,但是现实的尺寸大小是一样的,不是我需要的
需要的是大小不一样,像素尽可能的高,求解怎么办呀

以上是关于如何获得图片的宽高像素数??的主要内容,如果未能解决你的问题,请参考以下文章

convert 命令 pdf转图片 指定生成图片的宽高,

图片的像素与尺寸

System.Drawing.Image 怎么调整Image的宽高?

页面布局方案

Container,设置宽高不响应?

android在不加载图片的前提下获得图片的宽高