标题: [问题求助] [已解决]PowerShell如何获取图片像素大小? [打印本页]
作者: DAIC 时间: 2013-8-28 20:48 标题: [已解决]PowerShell如何获取图片像素大小?
本帖最后由 DAIC 于 2013-8-29 17:08 编辑
分别获取长和宽
我要根据像素大小做进一步处理
作者: PowerShell 时间: 2013-8-29 10:26
答:搜msdn
又答:试试 System.Drawing.Bitmap类.
http://msdn.microsoft.com/zh-cn/ ... drawing.bitmap.aspx
(当然很多其他类也行,只不过这个类,基于.net2.0很多低版本win,甚至低于winxp也能正常使用)
位图由图形图像及其特性的像素数据组成。 可使用许多标准格式将位图保存到文件中。 GDI+ 支持下列文件格式:BMP、GIF、EXIF、JPG、PNG 和 TIFF。 有关支持的格式的更多信息,请参见位图类型。
里面有
有 构造函数
Bitmap(Image) 从指定的现有图像初始化 Bitmap 类的新实例。
有 Height,Width属性
我不厌其烦地同bat脚本人讲:powershell依赖.net ,功能强大,语法简洁,系统管理,各种常用的需求,样样都能..人家微软早做好了,只恨我们学的不深,可我们很多类不知道,不会用.
作者: DAIC 时间: 2013-8-29 11:21
回复 2# PowerShell
不懂C#,可否给个PowerShell代码学习一下?
作者: PowerShell 时间: 2013-8-29 14:29
- [system.reflection.assembly]::loadwithpartialname("System.Drawing") | Out-Null
- $叫我板牙哥 = New-Object System.Drawing.Bitmap("d:\8dce33dfb918889c558abb9ea8f171c17ff917f2128b4-OuLxbs_fw580.jpg")
- $叫我板牙哥.height
- $叫我板牙哥.width
复制代码
作者: broly 时间: 2013-8-29 15:14
System.Drawing.Image比System.Drawing.Bitmap功能更强些
作者: DAIC 时间: 2013-8-29 15:35
回复 4# PowerShell
这个报错如何解决?
d:\Test>type test.ps1
$objPic = New-Object System.Drawing.Bitmap("a.jpg")
$objPic.height
$objPic.width
d:\Test>powershell -f test.ps1
New-Object : Cannot find type [System.Drawing.Bitmap]: make sure the assembly containing this type is loaded.
At D:\Test\test.ps1:1 char:21
+ $objPic = New-Object <<<< System.Drawing.Bitmap("a.jpg")
+ CategoryInfo : InvalidType: (:) [New-Object], PSArgumentException
+ FullyQualifiedErrorId : TypeNotFound,Microsoft.PowerShell.Commands.NewObjectCommand
作者: PowerShell 时间: 2013-8-29 16:30
本帖最后由 PowerShell 于 2013-8-29 16:38 编辑
抱歉 已更正
作者: DAIC 时间: 2013-8-29 17:03
回复 7# PowerShell
成功了。非常感谢!
作者: DAIC 时间: 2013-8-29 17:07
回复 5# broly
换成System.Drawing.Image之后报错
d:\Test>type test.ps1
[system.reflection.assembly]::loadwithpartialname("System.Drawing") | Out-Null
$objPic = New-Object System.Drawing.Image("a.jpg")
$objPic.width
$objPic.height
d:\Test>powershell -f test.ps1
New-Object : Constructor not found. Cannot find an appropriate constructor for type System.Drawing.Image.
At D:\Test\test.ps1:2 char:21
+ $objPic = New-Object <<<< System.Drawing.Image("a.jpg")
+ CategoryInfo : ObjectNotFound: (:) [New-Object], PSArgumentException
+ FullyQualifiedErrorId : CannotFindAppropriateCtor,Microsoft.PowerShell.Commands.NewObjectCommand
作者: broly 时间: 2013-8-29 19:50
- $objPic = New-Object System.Drawing.Image("a.jpg")
复制代码
改为- $objPic = [System.Drawing.Image]::FromFile("a.jpg")
复制代码
System.Drawing.Image 支持位图和metafile文件
作者: DAIC 时间: 2013-8-30 13:28
回复 10# broly
成功了,多谢!- [system.reflection.assembly]::loadwithpartialname("System.Drawing") | Out-Null
- $objPic = [System.Drawing.Image]::FromFile("a.bmp")
- $objPic.width
- $objPic.height
复制代码
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |