private void RotateImages(object sender, RoutedEventArgs e) {
RotateFlipType Rotation;
string DefaultName_Addon = null;
switch ((sender as Control).Name) {
case "btnRotateLeft":
Rotation = RotateFlipType.Rotate270FlipNone;
DefaultName_Addon = "_Rotated270";
break;
case "btnRotateRight":
Rotation = RotateFlipType.Rotate90FlipNone;
DefaultName_Addon = "_Rotated90";
break;
case "btnFlipX":
Rotation = RotateFlipType.RotateNoneFlipX;
DefaultName_Addon = "_FlippedX";
break;
case "btnFlipY":
Rotation = RotateFlipType.RotateNoneFlipY;
DefaultName_Addon = "_FlippedY";
break;
default:
throw new Exception("Invalid sender");
}
foreach (FileSystemListItem item in _ShellListView.SelectedItems) {
var cvt = new Bitmap(item.ParsingName);
cvt.RotateFlip(Rotation);
if (OverwriteOnRotate) {
cvt.Save(item.ParsingName);
} else {
string ext = item.ParsingName.Substring(item.ParsingName.LastIndexOf(".", StringComparison.Ordinal));
string name = item.ParsingName;
string namen = Utilities.RemoveExtensionsFromFile(name, new System.IO.FileInfo(name).Extension);
var newFilePath = namen + DefaultName_Addon + ext;
cvt.Save(newFilePath);
this._ShellListView.UnvalidateDirectory();
}
cvt.Dispose();
AddToLog("Rotated image " + item.ParsingName);
}
}