私はファイルを取得して2つのことをしています。サイズを変更してピクチャボックスに配置し、再度サイズを変更して保存します。プロセスはファイルにアクセスできません...別のプロセスで使用されているため
最初のサイズ変更操作は、サムネイルとしてウィンドウにドロップした後にうまくいきますが、サイズ変更後、2番目のサイズ変更操作は使用中であることを示していません。
私の理解から、ファイルまたはストリームを閉じていません。これに対する解決策は "using"コマンドですが、どこに置いてもエラーが出ます。
まずリサイズコード:
private void Form1_DragDrop(object sender, DragEventArgs e)
{
string[] droppedfiles = (string[])e.Data.GetData(DataFormats.FileDrop);
PB_Picture.Image = ScaleImage(Image.FromFile(droppedfiles[0]), 180, 140);
}
私が試した:
private void Form1_DragDrop(object sender, DragEventArgs e)
{
using (string[] droppedfiles = (string[])e.Data.GetData(DataFormats.FileDrop));
PB_Picture.Image = ScaleImage(Image.FromFile(droppedfiles[0]), 180, 140);
}
しかし、エラーの数を取得します。
まず、IDisposableを実装していないため、配列を 'using'ステートメントで使用することはできません。 usingステートメントを削除してみてください。 – Ingenioushax
2番目のサイズ変更操作はどこですか? –
文字列の配列ではなく、 'Image.FromFile'から返されたイメージを破棄する必要があります。 –