PowerShellの特定の.pngファイルから詳細情報を取得するにはどうすればよいですか?
サイズ、ビットの深さ、サイズが似ています。PowerShellの.pngファイルから詳細情報を取得
答えて
あなたはこのような特性を拡張ファイルからの情報のほとんどを取得することができます:
$path = 'D:\image.png'
$shell = New-Object -COMObject Shell.Application
$folder = Split-Path $path
$file = Split-Path $path -Leaf
$shellfolder = $shell.Namespace($folder)
$shellfile = $shellfolder.ParseName($file)
$width = 27
$height = 28
$Dimensions = 26
$size = 1
$shellfolder.GetDetailsOf($shellfile, $width)
$shellfolder.GetDetailsOf($shellfile, $height)
$shellfolder.GetDetailsOf($shellfile, $Dimensions)
$shellfolder.GetDetailsOf($shellfile, $size)
ます。また、このような(Get-Item D:\image.png).Length/1KB
など他の方法でサイズを取得することができます。
ビット深度プロパティは、ファイルを右クリックしても使用できますが、拡張プロパティには表示されません。
更新別のオプションは、COMを使用しないように適切な.NETを使用することです:
add-type -AssemblyName System.Drawing
$png = New-Object System.Drawing.Bitmap 'D:\image.png'
$png.Height
$png.Width
$png.PhysicalDimension
$png.HorizontalResolution
$png.VerticalResolution
アップデート2ピクセルフォーマットプロパティは、あなたにビット深度を提供します。
$png.PixelFormat
このプロパティは、可能な形式の列挙です。あなたはここで完全なリストを表示することができ:
http://msdn.microsoft.com/en-us/library/system.drawing.imaging.pixelformat.aspx
を例えばFormat32bppArgb
ため
フォーマットがピクセル当たり32ビットであることを指定するように定義されます。アルファ、レッド、グリーン、ブルーの各コンポーネントにはそれぞれ8ビットが使用されます。
ザ・Scripting Guyのは、Shell.Application http://blogs.technet.com/b/heyscriptingguy/archive/2008/08/13/how-can-i-find-files-metadata.aspx
に基づいてファイルのメタデータを得ることについて記事を書いたあなたが得る-画像が含まれているPowershellPack Moduleを使用することがあります:
PS D:\> import-module psimagetools PS D:\> get-item .\fig410.png | get-image FullName : D:\fig410.png FormatID : {B96B3CAF-0728-11D3-9D7B-0000F81EF32E} FileExtension : png FileData : System.__ComObject ARGBData : System.__ComObject Height : 450 Width : 700 HorizontalResolution : 96,0119934082031 VerticalResolution : 96,0119934082031 PixelDepth : 32 IsIndexedPixelFormat : False IsAlphaPixelFormat : True IsExtendedPixelFormat : False IsAnimated : False FrameCount : 1 ActiveFrame : 1 Properties : System.__ComObject
またはWia.ImageFileを直接使用することができます(get-image関数がこれを行う方法です)。
PS D:\> $image = New-Object -ComObject Wia.ImageFile PS D:\> $image.loadfile("D:\fig410.png") PS D:\> $image FormatID : {B96B3CAF-0728-11D3-9D7B-0000F81EF32E} FileExtension : png FileData : System.__ComObject ARGBData : System.__ComObject Height : 450 Width : 700 HorizontalResolution : 96,0119934082031 VerticalResolution : 96,0119934082031 PixelDepth : 32 IsIndexedPixelFormat : False IsAlphaPixelFormat : True IsExtendedPixelFormat : False IsAnimated : False FrameCount : 1 ActiveFrame : 1 Properties : System.__ComObject
ですリンクは見つかりませんでしたか? – Kiquenet
公式のリンクはまだありませんが、https://github.com/thlorenz/settings/tree/master/WindowsPowerShell/Modulesが役立つかもしれません –
- 1. 取得IIS7.5詳細PowerShellの
- 2. C55:詳細情報?
- 3. Capistranoのタスクに関する詳細情報を取得する
- 4. MongoDBタイムスタンプからより詳細な情報を取得できますか?
- 5. ディレクトリの詳細情報を取得するAPIとは何ですか?
- 6. ビデオファイルフォーマットのヘッダー情報の詳細
- 7. URLからポートプロトコルの詳細を取得
- 8. PHPを使用してリモートホストのステータス情報と詳細を取得
- 9. Dropbox java apiファイルの詳細を取得
- 10. PowerShellで詳細なスタックトレースを取得できますか?
- 11. .MSG添付ファイルからメールアイテムの詳細を取得
- 12. 詳細情報のための複数のXibを持つ詳細DetailViewのデータアクセス
- 13. Windows上で詳細なUSB MIDIデバイス情報を取得するxp
- 14. ASP.NET MVC Webサイトで詳細なエラー情報を取得できません
- 15. スプリングブート状態で詳細が表示されない(詳細情報付き)
- 16. restfbからの情報を取得
- 17. アンドロイドのステータスバーから情報を取得
- 18. Androidアプリケーションの圧縮XMLファイルからの情報を取得
- 19. ログインしているユーザーの詳細情報を得る上でのOAuth 2.0
- 20. SVNからの情報の取得
- 21. SNMP - プロセスからの情報の取得
- 22. データベースからの情報の取得
- 23. クロムエクステンションからのクッキー情報の取得
- 24. ColorPickerDialog.javaからの色情報の取得
- 25. Jenkins APIからビルド情報を取得
- 26. default.ctp controller cakephpから情報を取得
- 27. URLから情報を取得する
- 28. データベースサーバからハードウェア情報を取得
- 29. データベースから情報を取得する
- 30. OLAPから情報を取得
ご回答ありがとうございます。ついにWia.ImageFileを使うことにしました。私はより簡単にいくつかの情報(ビット深度のような)を得ることができます。 – Etienne
@Etienne別のオプションを追加しました。 .NETを使用し、COMの使用を避けることができます。 –
最後に更新していただきありがとうございます。私はPowerShellの初心者ですので、COMの代わりに.NETを使用することをお勧めします。 Wia.ImageFileでは、私のニーズに興味のあるIsIndexedPixelFormat、IsAlphaPixelFormat、IsExtendedPixelFormat、IsAnimatedも見つかりました。私はSystem.Drawingでそれらを見つけることができませんでした。あなたの答えをありがとう、これは非常に感謝しています。エティエンヌ。 – Etienne