私はvbscriptスクリプトを持っており、.tifファイルのディレクトリを調べる必要があります。それぞれのファイルについて、そのファイルが横長か縦長かのどちらであるかを判断する必要があります。基本的には、各ファイルのイメージのサイズを取得できる必要があります。ですから、私はjpgやbmpファイルからこのような情報を抽出するために、ファイルファイルヘッダを読んでいる人々の例を見てきました。誰もがtiffファイルのディメンションを抽出するために同じことをしましたか?TIFFファイルの画像の大きさはどうやって決めるのですか?
答えて
VBScriptでは、次の2つの方法で画像の大きさを決定することができます。
WIAオートメーションライブラリ(download link、MSDN documentation、an excellent Hey, Scripitng Guy! article on the subject)を使用します。対応する拡張ファイルのプロパティを読み取るために
GetDetailsOf
メソッドを使用してSet oImage = CreateObject("WIA.ImageFile") oImage.LoadFile "C:\Images\MyImage.tif" WScript.Echo "Width: " & oImage.Width & vbNewLine & _ "Height: " & oImage.Height
:あなたはwiaaut.dllライブラリを登録したら、次の簡単なコードを使用することができます。これはネイティブのWindowsスクリプティング方法であるため、外部ライブラリは不要です。しかし、コードがある長い:
外形寸法:2464 X 3248
幅:Const DIMENSIONS = 31 CONST WIDTH = 162 CONST HEIGTH = 164 Set oShell = CreateObject ("Shell.Application") Set oFolder = oShell.Namespace ("C:\Images") Set oFile = oFolder.ParseName("MyImage.tif") strDimensions = oFolder.GetDetailsOf(oFile, DIMENSIONS) strWidth = oFolder.GetDetailsOf(oFile, WIDTH) strHeigth = oFolder.GetDetailsOf(oFile, HEIGTH) WScript.Echo "Dimensions: " & strDimensions & vbNewLine & _ "Width: " & strWidth & vbNewLine & _ "Height: " & strHeigth
このスクリプトは次のように出力2464個のピクセルを
身長:3248個のピクセルそうであれば単純な数値が必要な場合は、返された文字列からそれらを抽出する必要があります。
また、this answerで説明したように、プロパティインデックス(スクリプトの冒頭の定数)はWindowsのバージョンによって異なります。上記のスクリプトはWindows 7用ですが、別のWindowsバージョンを使用している場合や、スクリプトを別のWindowsバージョンで使用する場合は、バージョン固有のインデックスを使用する必要があります。利用可能なプロパティインデックスの最も完全なリストはhereです。
シェルメソッドは私が探していたものでした。ありがとう、ヘレン! –
素晴らしいです、ありがとう! (ところで、私はすでにVistaとWin7のマシンにwiaaut.dllを持っていたので、スクリプトはちょうどすぐに働いた)。 –
プロパティインデックスは、異なるイメージファイルタイプでも異なるように見えます。> _ < –
私はそれを使用することをお勧めしますAtalasoft's DotImage Photoその強力な&は無料です!しかし、それは.NETパッケージなので、動作させるにはRegasm Magicを実行します。開始する前にUse vb.net in VBScriptをチェックしてください。
ここに、寸法を取得するために必要なコードを示します。
Public Function GetHeight(path As String) As Integer
Using stm As New FileStream(path, FileMode.Open, FileAccess.Read, FileShare.Read)
Dim decoder As New TiffDecoder()
If Not decoder.IsValidFormat(stm) Then
Throw New Exception("not a TIFF")
End If
Dim image As AtalaImage = decoder.Read(stm, Nothing)
Return image.Height
' Return image.Width --- To return the Width.
End Using
End Function
Dim情報をImageInfo = decoder.GetImageInfo(stm、Nothing)として扱うほうが、はるかに少ないメモリを割り当てることができます。また、TIFFはマルチページ形式であり、dotImage PhotoFreeは複数ページのドキュメントをサポートしていませんが、dotImage PhotoProやdotImageドキュメントイメージングはサポートしています。 – plinth
- 1. 畳み込み神経フィルタの大きさはどうやって決めるのですか?
- 2. どうやって画像をタイムラインにオーバーレイできますか?
- 3. Haskellの定数式の型はどうやって決めるのですか?
- 4. 画像の位置や大きさのすべての
- 5. は、私は戻って別の問題としていますTIFF画像ファイル
- 6. unixのtessractを使って大きなtiff画像からテキストを抽出するには?
- 7. RTOSのティック周波数をどうやって決めるのですか?
- 8. Debianパッケージ(.deb):どうやって決定するのですか?
- 9. Xcodeで画像をキャッシュする?どうやって?
- 10. @ types/*が `dependencies`や` devDependencies`に入るかどうかをどうやって決めたらいいですか?
- 11. Matlabクラスのメソッドのシグネチャはどうやって決定するのですか?
- 12. IE 8ではどうやって、私の画像は1pxの高さですか?
- 13. HDCがあれば、アプリケーションの名前はどうやって決めることができますか?
- 14. mongodbエラーです。 mongoDBのエラーをどうやって解決できますか?
- 15. android oreo updateに画像ファイルを保存できません。どうやってするの?
- 16. Django - 外部キーを入れるモデルはどうやって決めますか?
- 17. netcatからの入力の終わりはどうやって決めるのですか?
- 18. アンドロイドスタジオのR.javaでこれをどうやって解決できますか?
- 19. 画像がIOSでどのように現れて画像の解像度が決まるのですか?
- 20. より大きな画像から位置によって表示される画像をどのように拡大するか?
- 21. ドッカー画像から特定のレイヤーのデータを表示できますか?そしてどうやって?
- 22. 3チャンネル画像をTIFFファイルに書き込む方法は?
- 23. TIFF画像にアクセス
- 24. 取得画像の大きさは、私がformbulderとsymfonyの2.8にアップロードされたファイルの誰かがどのように画像のサイズを得るために私を言うことができる場合、私は思っていた
- 25. iTextはPDFをTIFF画像に変換できますか?
- 26. 複数のTiffファイルを1ページのTIFFファイルにマージするにはどうすればよいですか?
- 27. エリクシルのファイルのサイズはどうやって取得できますか?
- 28. グラバットアルゴリズムの最適な反復をどうやって決めることができますか?
- 29. どうやって画面やバイブですべての分離セッションを終了させるのですか?
- 30. このプールゲームをどうやって解決しますか?
あなたのスクリプトには他に何が必要ですか?スタンドアロンスクリプトの場合は、VBScriptでTIFFファイルを読み込もうとするよりも、.NET(PowerShell)以外のものに移植するほうがはるかに優れています。以前はServerObjectsからImgSize.dllという名前の無料コンポーネントがありましたが、これは廃止され、もはや入手できません。 –