私は変換にほとんど問題がありません。サブフォルダは作成していますが、サブフォルダを作成していないフォルダを変換しようとすると、 "_converted"というフォルダが1つしか作成されず、サブフォルダのイメージがすべて変換されます。サブフォルダを作成する
マイコード:
private void btnConvert_Click(object sender, EventArgs e)
{
string[] originalImage = Directory.GetDirectories(txtFilePath.Text, "*.*",
SearchOption.AllDirectories);
foreach (var directory in originalImage)
{
Debug.WriteLine(directory);
}
foreach (string dir in originalImage)
{
string folderPath = @"C:\test\" + "_converted";
folderPath = folderPath.Substring(folderPath.IndexOf(@"\") + 1);
DirectoryInfo di = Directory.CreateDirectory(folderPath);
if (Directory.Exists(folderPath))
{
DirectoryInfo dInfo = new DirectoryInfo(dir);
foreach (var filename in dInfo.GetFiles())
{
FileInfo fInfo = new FileInfo(filename.FullName);
var fileExtension = fInfo.Extension;
var fileOriginalDate = fInfo.CreationTime;
if (fileExtension.ToUpper() == ".JPG" || fileExtension.ToUpper() == ".PNG")
{
using (Bitmap bitmap = new Bitmap(filename.FullName))
{
string fn = Path.GetFileNameWithoutExtension(filename.FullName);
VariousQuality(bitmap, fn, fileExtension,
fileOriginalDate, folderPath);
}
}
}
}
}
}
私はこの方法を使用してみました:
folderPath = folderPath.Substring(folderPath.IndexOf(@"\") + 1);
私はこの問題を解決するにはどうすればよいですか?
なぜ最初に2回ループするのですか?デバッグコールを2番目のループに移動できませんか? – user3185569
はい、これはこの問題を解決していません.. –
なぜこのようにしますか?folderPath.Substring(folderPath.IndexOf(@ "\")+ 1); '? +コード内にサブフォルダを作成する場所がありません。 1つの場所にフォルダを作成するのは、 'C:\ test \ _converted'に割り当てられた静的な文字列です – user3185569