仕事
PowerShell で、 taglip-sharpライブラリを使用して ID3V2 タグとして画像を追加したいと考えています。
通常、次のようにします。
# Load taglib-sharb library
[Reflection.Assembly]::LoadFrom( (Resolve-Path "..\Common\taglib-sharp.dll"))
# Load MP3 file
$media = [TagLib.File]::Create("C:\MusicFile.mp3")
# Load picture
$pic = [taglib.picture]::createfrompath("C:\MyAlbumArt.jpg")
# Add picture to MP3
$media.Tag.Pictures = $pic
# Save Mp3
$media.Save()
一般的な問題
上記は、画像がローカルのどこかにあるファイルである場合にのみ機能します。しかし、私は[System.Drawing.Bitmap]
それをロードするファイルパスを持たないオブジェクトとして画像を持っていますcreatefrompath
。
あなたが言う前に ディスクに書き込んでください : 私の最終的なスクリプトは多くの画像と mp3 ファイルを処理するので、それらを保存するのは避けたいと思います。そして、何百枚もの写真を書いて削除したくありません。
具体的な質問
taglib にはCreateFromFile(File.IFileAbstraction )
、画像をロードするために呼び出される別のメソッドもあります。しかし、どうすれば a[System.Drawing.Bitmap]
を aに変換できIFileAbstraction
ますか?
ネットで見つけた最も近いヘルプはhereとhereでした。しかし、それは.NET 4.5用であり、これをPowerShell構文に変換することは決してできません