diff --git a/Mk0.Software.ImageSorter/Konverter.cs b/Mk0.Software.ImageSorter/Konverter.cs
index deddca4..c78feb5 100644
--- a/Mk0.Software.ImageSorter/Konverter.cs
+++ b/Mk0.Software.ImageSorter/Konverter.cs
@@ -10,17 +10,28 @@ namespace Mk0.Software.ImageSorter
private string imagePath;
public string newFilePath { get; set; }
- public Konverter(string imagePath, bool auto = false, string autoFormat = "")
+ public Konverter(string imagePath, bool auto = false, MagickFormat autoFormat = MagickFormat.Png)
{
- InitializeComponent();
this.imagePath = imagePath;
- labelBildname.Text = imagePath;
- comboBoxFormat.SelectedIndex = 0;
+ if (auto)
+ {
+ using (MagickImage image = new MagickImage(imagePath))
+ {
+ image.Format = autoFormat;
+ newFilePath = Path.Combine(Path.GetDirectoryName(imagePath), Path.GetFileNameWithoutExtension(imagePath) + "." + autoFormat.ToString().ToLower());
+ image.Write(newFilePath);
+ }
+ }
+ else
+ {
+ InitializeComponent();
+ labelBildname.Text = imagePath;
+ comboBoxFormat.SelectedIndex = 0;
+ }
}
private void ButtonKonvert_Click(object sender, EventArgs e)
{
- //todo konvertieren
using (MagickImage image = new MagickImage(imagePath))
{
if (comboBoxFormat.SelectedItem == "PNG")
diff --git a/Mk0.Software.ImageSorter/Main.cs b/Mk0.Software.ImageSorter/Main.cs
index f765e34..902c818 100644
--- a/Mk0.Software.ImageSorter/Main.cs
+++ b/Mk0.Software.ImageSorter/Main.cs
@@ -1292,7 +1292,23 @@ namespace Mk0.Software.ImageSorter
///
private void PictureBox_LoadCompleted(object sender, AsyncCompletedEventArgs e)
{
- Zoom();
+ if (e.Error != null && Path.GetExtension(pictureBoxImage.ImageLocation).ToLower() == ".webp")
+ {
+ Konverter k = new Konverter(pictureBoxImage.ImageLocation, true);
+ if (File.Exists(k.newFilePath))
+ {
+ string del = pictureBoxImage.ImageLocation;
+ images[imageIndex] = k.newFilePath;
+ LoadPicture(imageIndex);
+ FileSystem.DeleteFile(del, UIOption.OnlyErrorDialogs, RecycleOption.SendToRecycleBin, UICancelOption.DoNothing);
+ Image myImg = CopyImage.GetCopyImage(k.newFilePath);
+ ShowAutoConvertMessage(myImg, k.newFilePath);
+ }
+ }
+ else
+ {
+ Zoom();
+ }
}
///
@@ -1470,6 +1486,17 @@ namespace Mk0.Software.ImageSorter
banner.ShowMessages();
}
+ ///
+ /// Anzeige eines Banners bei automatischem Konvertieren von WEBP-Bildern
+ ///
+ ///
+ ///
+ private void ShowAutoConvertMessage(Image bild, string bildpfad)
+ {
+ banner.Enqueue("Das WEBP-Bild \"" + Path.GetFileName(bildpfad) + "\" wurde", "automatisch konvertiert.", bild, Properties.Resources.converted);
+ banner.ShowMessages();
+ }
+
///
/// Anzeige eines Banners bei erstelltem Duplikat
///
diff --git a/Mk0.Software.ImageSorter/Mk0.Software.ImageSorter.csproj b/Mk0.Software.ImageSorter/Mk0.Software.ImageSorter.csproj
index 68bf28d..866f0a0 100644
--- a/Mk0.Software.ImageSorter/Mk0.Software.ImageSorter.csproj
+++ b/Mk0.Software.ImageSorter/Mk0.Software.ImageSorter.csproj
@@ -231,6 +231,7 @@
+
diff --git a/Mk0.Software.ImageSorter/Properties/Resources.Designer.cs b/Mk0.Software.ImageSorter/Properties/Resources.Designer.cs
index f2494d9..98684e6 100644
--- a/Mk0.Software.ImageSorter/Properties/Resources.Designer.cs
+++ b/Mk0.Software.ImageSorter/Properties/Resources.Designer.cs
@@ -220,6 +220,16 @@ namespace Mk0.Software.ImageSorter.Properties {
}
}
+ ///
+ /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
+ ///
+ internal static System.Drawing.Bitmap converted {
+ get {
+ object obj = ResourceManager.GetObject("converted", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
+
///
/// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
///
diff --git a/Mk0.Software.ImageSorter/Properties/Resources.resx b/Mk0.Software.ImageSorter/Properties/Resources.resx
index b1130b6..f451d90 100644
--- a/Mk0.Software.ImageSorter/Properties/Resources.resx
+++ b/Mk0.Software.ImageSorter/Properties/Resources.resx
@@ -259,4 +259,7 @@
..\Resources\inpaint-reloadfile.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+ ..\Resources\converted.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
\ No newline at end of file
diff --git a/Mk0.Software.ImageSorter/Resources/converted.png b/Mk0.Software.ImageSorter/Resources/converted.png
new file mode 100644
index 0000000..cc9b04a
Binary files /dev/null and b/Mk0.Software.ImageSorter/Resources/converted.png differ