From cb0fd96c2da738867c791e37c050baa8b93e037f Mon Sep 17 00:00:00 2001 From: Manuel Kamper Date: Sun, 18 Aug 2024 22:33:01 +0200 Subject: [PATCH] implemented #11 --- .../Konverter.Designer.cs | 31 +++++++---- Mk0.Software.ImageSorter/Konverter.cs | 52 +++++++++++++++---- Mk0.Software.ImageSorter/Main.cs | 15 ++++-- 3 files changed, 75 insertions(+), 23 deletions(-) diff --git a/Mk0.Software.ImageSorter/Konverter.Designer.cs b/Mk0.Software.ImageSorter/Konverter.Designer.cs index e44c8aa..7a70f9e 100644 --- a/Mk0.Software.ImageSorter/Konverter.Designer.cs +++ b/Mk0.Software.ImageSorter/Konverter.Designer.cs @@ -37,21 +37,25 @@ // // comboBoxFormat // + this.comboBoxFormat.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); this.comboBoxFormat.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; this.comboBoxFormat.FormattingEnabled = true; this.comboBoxFormat.Items.AddRange(new object[] { "PNG", "JPG", "BMP"}); - this.comboBoxFormat.Location = new System.Drawing.Point(201, 65); + this.comboBoxFormat.Location = new System.Drawing.Point(302, 98); + this.comboBoxFormat.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); this.comboBoxFormat.Name = "comboBoxFormat"; - this.comboBoxFormat.Size = new System.Drawing.Size(121, 28); + this.comboBoxFormat.Size = new System.Drawing.Size(180, 28); this.comboBoxFormat.TabIndex = 0; + this.comboBoxFormat.SelectedIndexChanged += new System.EventHandler(this.ComboBoxFormat_SelectedIndexChanged); // // label1 // this.label1.AutoSize = true; - this.label1.Location = new System.Drawing.Point(12, 9); + this.label1.Location = new System.Drawing.Point(18, 14); + this.label1.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); this.label1.Name = "label1"; this.label1.Size = new System.Drawing.Size(179, 20); this.label1.TabIndex = 1; @@ -60,7 +64,8 @@ // labelBildname // this.labelBildname.AutoSize = true; - this.labelBildname.Location = new System.Drawing.Point(12, 29); + this.labelBildname.Location = new System.Drawing.Point(18, 44); + this.labelBildname.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); this.labelBildname.Name = "labelBildname"; this.labelBildname.Size = new System.Drawing.Size(73, 20); this.labelBildname.TabIndex = 2; @@ -68,10 +73,12 @@ // // buttonKonvert // + this.buttonKonvert.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); this.buttonKonvert.Enabled = false; - this.buttonKonvert.Location = new System.Drawing.Point(337, 62); + this.buttonKonvert.Location = new System.Drawing.Point(506, 93); + this.buttonKonvert.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); this.buttonKonvert.Name = "buttonKonvert"; - this.buttonKonvert.Size = new System.Drawing.Size(121, 32); + this.buttonKonvert.Size = new System.Drawing.Size(182, 48); this.buttonKonvert.TabIndex = 3; this.buttonKonvert.Text = "Konvertieren"; this.buttonKonvert.UseVisualStyleBackColor = true; @@ -80,7 +87,8 @@ // label2 // this.label2.AutoSize = true; - this.label2.Location = new System.Drawing.Point(12, 68); + this.label2.Location = new System.Drawing.Point(18, 102); + this.label2.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); this.label2.Name = "label2"; this.label2.Size = new System.Drawing.Size(135, 20); this.label2.TabIndex = 4; @@ -88,19 +96,20 @@ // // Konverter // - this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F); + this.AutoScaleDimensions = new System.Drawing.SizeF(144F, 144F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi; - this.ClientSize = new System.Drawing.Size(472, 110); + this.ClientSize = new System.Drawing.Size(699, 140); this.Controls.Add(this.label2); this.Controls.Add(this.buttonKonvert); this.Controls.Add(this.labelBildname); this.Controls.Add(this.label1); this.Controls.Add(this.comboBoxFormat); this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle; + this.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); this.MaximizeBox = false; - this.MaximumSize = new System.Drawing.Size(488, 149); + this.MaximumSize = new System.Drawing.Size(721, 196); this.MinimizeBox = false; - this.MinimumSize = new System.Drawing.Size(488, 149); + this.MinimumSize = new System.Drawing.Size(721, 196); this.Name = "Konverter"; this.ShowIcon = false; this.ShowInTaskbar = false; diff --git a/Mk0.Software.ImageSorter/Konverter.cs b/Mk0.Software.ImageSorter/Konverter.cs index 035cf98..deddca4 100644 --- a/Mk0.Software.ImageSorter/Konverter.cs +++ b/Mk0.Software.ImageSorter/Konverter.cs @@ -1,25 +1,59 @@ -using System; -using System.Collections.Generic; -using System.ComponentModel; -using System.Data; -using System.Drawing; -using System.Linq; -using System.Text; -using System.Threading.Tasks; +using ImageMagick; +using System; +using System.IO; using System.Windows.Forms; namespace Mk0.Software.ImageSorter { public partial class Konverter : Form { - public Konverter() + private string imagePath; + public string newFilePath { get; set; } + + public Konverter(string imagePath, bool auto = false, string autoFormat = "") { InitializeComponent(); + this.imagePath = imagePath; + 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") + { + image.Format = MagickFormat.Png; + } + else if (comboBoxFormat.SelectedItem == "JPG") + { + image.Format = MagickFormat.Jpeg; + } + else if (comboBoxFormat.SelectedItem == "BMP") + { + image.Format = MagickFormat.Bmp; + } + // Save frame as jpg + newFilePath = Path.Combine(Path.GetDirectoryName(imagePath), Path.GetFileNameWithoutExtension(imagePath) + "." + comboBoxFormat.SelectedItem.ToString().ToLower()); + image.Write(newFilePath); + } + this.DialogResult = DialogResult.OK; + this.Close(); + } + + private void ComboBoxFormat_SelectedIndexChanged(object sender, EventArgs e) + { + if (File.Exists(imagePath) && comboBoxFormat.SelectedIndex != -1) + { + buttonKonvert.Enabled = true; + } + else + { + buttonKonvert.Enabled = false; + } } } } diff --git a/Mk0.Software.ImageSorter/Main.cs b/Mk0.Software.ImageSorter/Main.cs index c4d0623..9ee7a2f 100644 --- a/Mk0.Software.ImageSorter/Main.cs +++ b/Mk0.Software.ImageSorter/Main.cs @@ -26,7 +26,7 @@ namespace Mk0.Software.ImageSorter { public string quellPath = ""; public string zielPath = ""; - private string[] fileTypes = { ".jpg", ".png", ".jpeg", ".gif", ".tif", ".tiff", ".bmp", ".heic" }; + private string[] fileTypes = { ".jpg", ".png", ".jpeg", ".gif", ".tif", ".tiff", ".bmp", ".heic", ".webp" }; private int moved = 0; private int imageIndex; private List