TIFFファイルをvb.netの.PNGファイルに変換しています。まず、TIFFファイルを特定の場所(NewFileNameで指定)に保存します。次に、Bitmap.Saveメソッドを使用してファイルを.PNGに変換します。後で私のプログラムで、私はすべての.tifファイルを削除しようとします。しかし、ファイルがまだ使用中であるというエラーが表示されます。私はこれの理由についていくつかの研究を行いましたが、多くのエラーはファイルストリームを閉じないことから来ていると私は読んでいます。しかし、プログラムではファイルストリームを使用しないので、それは別のものだと思います。提案された別の可能性は、ファイルが2回開かれたことでした。私は自分のコードを精査して、ファイルが開かれていないと確信しており、保存され、bitmap.Save
コマンドでアクセスされただけです。私はまた、handle.exe
とプロセスエクスプローラをダウンロードして、どのプロセスがファイルをロックしているかを調べました。どうやら、ファイルはbitmap.save
コマンドを使ってPNGに変換するだけで、プログラムで使用されているようです。おそらく、bitmap.Save
を閉じる方法がありますか?何を追加するかについての他の提案も高く評価されます。ファイルが別のプロセスで使用されているためにファイルを削除できません - VB.net
objApplication.StartCommand(SolidEdgeConstants.AssemblyCommandConstants.AssemblyViewBottomView)
view = window.View
view.Fit()
withoutExt = "C:\Folder" & "\" & shortForms(12) & FileName
NewFileName = withoutExt & ".tif"
view.SaveAsImage(NewFileName, Width:=width, Height:=height, Resolution:=resolution, ColorDepth:=colorDepth)
System.Drawing.Bitmap.FromFile(NewFileName).Save(withoutExt & ".png", System.Drawing.Imaging.ImageFormat.Png)
ありがとうございます!
TIFFを最初に開いた場所でコードを共有できますか? –
@robin私の質問は誤解を招いて申し訳ありません。私はTIFFを直接オープンすることはありません。私は単に.saveasimageコマンドとbitmap.saveコマンドでアクセスします。私は質問を編集します。 –
@robin投稿を編集し、ファイルがbitmap.saveコマンドでロックされていることを確認しました。多分それは助けます。 –