diff --git a/FModel/App.config b/FModel/App.config index 20575ad8..ce32270b 100644 --- a/FModel/App.config +++ b/FModel/App.config @@ -31,12 +31,6 @@ False - - - - - 0 - @@ -67,9 +61,6 @@ True - - False - diff --git a/FModel/FModel.csproj b/FModel/FModel.csproj index 7b4740e6..7a8f48b5 100644 --- a/FModel/FModel.csproj +++ b/FModel/FModel.csproj @@ -164,7 +164,6 @@ - diff --git a/FModel/Forms/MergeImages.Designer.cs b/FModel/Forms/MergeImages.Designer.cs index 41abcea5..1ba8e066 100644 --- a/FModel/Forms/MergeImages.Designer.cs +++ b/FModel/Forms/MergeImages.Designer.cs @@ -34,44 +34,51 @@ namespace FModel.Forms this.button2 = new System.Windows.Forms.Button(); this.button3 = new System.Windows.Forms.Button(); this.button4 = new System.Windows.Forms.Button(); + this.groupBox1 = new System.Windows.Forms.GroupBox(); + this.trackBar1 = new System.Windows.Forms.TrackBar(); + this.pictureBox1 = new System.Windows.Forms.PictureBox(); + this.button5 = new System.Windows.Forms.Button(); + this.backgroundWorker1 = new System.ComponentModel.BackgroundWorker(); + this.progressBar1 = new System.Windows.Forms.ProgressBar(); this.label1 = new System.Windows.Forms.Label(); - this.numericUpDown1 = new System.Windows.Forms.NumericUpDown(); - ((System.ComponentModel.ISupportInitialize)(this.numericUpDown1)).BeginInit(); + this.groupBox1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.trackBar1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit(); this.SuspendLayout(); // // listBox1 // this.listBox1.FormattingEnabled = true; - this.listBox1.Location = new System.Drawing.Point(12, 12); + this.listBox1.Location = new System.Drawing.Point(6, 48); this.listBox1.Name = "listBox1"; this.listBox1.SelectionMode = System.Windows.Forms.SelectionMode.MultiExtended; - this.listBox1.Size = new System.Drawing.Size(194, 251); + this.listBox1.Size = new System.Drawing.Size(251, 264); this.listBox1.TabIndex = 0; // // button1 // - this.button1.Location = new System.Drawing.Point(225, 12); + this.button1.Location = new System.Drawing.Point(6, 19); this.button1.Name = "button1"; this.button1.Size = new System.Drawing.Size(75, 23); this.button1.TabIndex = 1; - this.button1.Text = "Search"; + this.button1.Text = "Add Images"; this.button1.UseVisualStyleBackColor = true; this.button1.Click += new System.EventHandler(this.button1_Click); // // button2 // this.button2.ForeColor = System.Drawing.SystemColors.ControlText; - this.button2.Location = new System.Drawing.Point(225, 64); + this.button2.Location = new System.Drawing.Point(459, 309); this.button2.Name = "button2"; - this.button2.Size = new System.Drawing.Size(75, 23); + this.button2.Size = new System.Drawing.Size(100, 23); this.button2.TabIndex = 2; - this.button2.Text = "Merge"; + this.button2.Text = "Save Image"; this.button2.UseVisualStyleBackColor = true; this.button2.Click += new System.EventHandler(this.button2_Click); // // button3 // - this.button3.Location = new System.Drawing.Point(225, 131); + this.button3.Location = new System.Drawing.Point(95, 19); this.button3.Name = "button3"; this.button3.Size = new System.Drawing.Size(75, 23); this.button3.TabIndex = 3; @@ -82,7 +89,7 @@ namespace FModel.Forms // button4 // this.button4.ForeColor = System.Drawing.Color.Red; - this.button4.Location = new System.Drawing.Point(225, 160); + this.button4.Location = new System.Drawing.Point(182, 19); this.button4.Name = "button4"; this.button4.Size = new System.Drawing.Size(75, 23); this.button4.TabIndex = 4; @@ -90,39 +97,100 @@ namespace FModel.Forms this.button4.UseVisualStyleBackColor = true; this.button4.Click += new System.EventHandler(this.button4_Click); // + // groupBox1 + // + this.groupBox1.Controls.Add(this.button1); + this.groupBox1.Controls.Add(this.listBox1); + this.groupBox1.Controls.Add(this.button3); + this.groupBox1.Controls.Add(this.button4); + this.groupBox1.Location = new System.Drawing.Point(12, 12); + this.groupBox1.Name = "groupBox1"; + this.groupBox1.Size = new System.Drawing.Size(263, 320); + this.groupBox1.TabIndex = 7; + this.groupBox1.TabStop = false; + this.groupBox1.Text = "Settings"; + // + // trackBar1 + // + this.trackBar1.LargeChange = 0; + this.trackBar1.Location = new System.Drawing.Point(281, 268); + this.trackBar1.Maximum = 20; + this.trackBar1.Minimum = 1; + this.trackBar1.Name = "trackBar1"; + this.trackBar1.Size = new System.Drawing.Size(278, 45); + this.trackBar1.SmallChange = 0; + this.trackBar1.TabIndex = 1; + this.trackBar1.Value = 7; + this.trackBar1.Scroll += new System.EventHandler(this.TrackBar1_Scroll); + // + // pictureBox1 + // + this.pictureBox1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.pictureBox1.Location = new System.Drawing.Point(281, 18); + this.pictureBox1.Name = "pictureBox1"; + this.pictureBox1.Size = new System.Drawing.Size(278, 244); + this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom; + this.pictureBox1.TabIndex = 9; + this.pictureBox1.TabStop = false; + // + // button5 + // + this.button5.ForeColor = System.Drawing.SystemColors.ControlText; + this.button5.Location = new System.Drawing.Point(353, 309); + this.button5.Name = "button5"; + this.button5.Size = new System.Drawing.Size(100, 23); + this.button5.TabIndex = 10; + this.button5.Text = "Open Image"; + this.button5.UseVisualStyleBackColor = true; + this.button5.Click += new System.EventHandler(this.Button5_Click); + // + // backgroundWorker1 + // + this.backgroundWorker1.WorkerReportsProgress = true; + this.backgroundWorker1.DoWork += new System.ComponentModel.DoWorkEventHandler(this.BackgroundWorker1_DoWork); + this.backgroundWorker1.ProgressChanged += new System.ComponentModel.ProgressChangedEventHandler(this.BackgroundWorker1_ProgressChanged); + this.backgroundWorker1.RunWorkerCompleted += new System.ComponentModel.RunWorkerCompletedEventHandler(this.BackgroundWorker1_RunWorkerCompleted); + // + // progressBar1 + // + this.progressBar1.Location = new System.Drawing.Point(12, 338); + this.progressBar1.Name = "progressBar1"; + this.progressBar1.Size = new System.Drawing.Size(547, 16); + this.progressBar1.Step = 1; + this.progressBar1.TabIndex = 11; + // // label1 // this.label1.AutoSize = true; - this.label1.Location = new System.Drawing.Point(222, 217); + this.label1.ForeColor = System.Drawing.Color.Red; + this.label1.Location = new System.Drawing.Point(281, 314); this.label1.Name = "label1"; - this.label1.Size = new System.Drawing.Size(88, 13); - this.label1.TabIndex = 5; - this.label1.Text = "Images Per Row:"; - // - // numericUpDown1 - // - this.numericUpDown1.Location = new System.Drawing.Point(225, 233); - this.numericUpDown1.Name = "numericUpDown1"; - this.numericUpDown1.Size = new System.Drawing.Size(81, 20); - this.numericUpDown1.TabIndex = 6; + this.label1.Size = new System.Drawing.Size(68, 13); + this.label1.TabIndex = 12; + this.label1.Text = "Delay 300ms"; // // MergeImages // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(318, 281); - this.Controls.Add(this.numericUpDown1); + this.ClientSize = new System.Drawing.Size(571, 364); this.Controls.Add(this.label1); - this.Controls.Add(this.button4); - this.Controls.Add(this.button3); + this.Controls.Add(this.progressBar1); + this.Controls.Add(this.button5); + this.Controls.Add(this.pictureBox1); + this.Controls.Add(this.groupBox1); this.Controls.Add(this.button2); - this.Controls.Add(this.button1); - this.Controls.Add(this.listBox1); + this.Controls.Add(this.trackBar1); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle; this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.MaximizeBox = false; this.Name = "MergeImages"; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; this.Text = "Merge Images"; this.Load += new System.EventHandler(this.MergeImages_Load); - ((System.ComponentModel.ISupportInitialize)(this.numericUpDown1)).EndInit(); + this.groupBox1.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.trackBar1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit(); this.ResumeLayout(false); this.PerformLayout(); @@ -135,7 +203,12 @@ namespace FModel.Forms private System.Windows.Forms.Button button2; private System.Windows.Forms.Button button3; private System.Windows.Forms.Button button4; + private System.Windows.Forms.GroupBox groupBox1; + private System.Windows.Forms.TrackBar trackBar1; + private System.Windows.Forms.PictureBox pictureBox1; + private System.Windows.Forms.Button button5; + private System.ComponentModel.BackgroundWorker backgroundWorker1; + private System.Windows.Forms.ProgressBar progressBar1; private System.Windows.Forms.Label label1; - private System.Windows.Forms.NumericUpDown numericUpDown1; } } diff --git a/FModel/Forms/MergeImages.cs b/FModel/Forms/MergeImages.cs index 8b4dd805..efbd299e 100644 --- a/FModel/Forms/MergeImages.cs +++ b/FModel/Forms/MergeImages.cs @@ -5,11 +5,19 @@ using System.IO; using System.Windows.Forms; using System.Web.UI.WebControls; using Image = System.Drawing.Image; +using System.Drawing; +using System.Globalization; +using FModel.Properties; +using System.Drawing.Imaging; namespace FModel.Forms { public partial class MergeImages : Form { + private static List selectedImages { get; set; } + private static Bitmap bmp { get; set; } + private static Timer _scrollingTimer = null; + public MergeImages() { InitializeComponent(); @@ -18,16 +26,27 @@ namespace FModel.Forms private void MergeImages_Load(object sender, EventArgs e) { listBox1.Items.Clear(); - - numericUpDown1.Value = Properties.Settings.Default.mergerImagesRow; } private void button1_Click(object sender, EventArgs e) { - ImagesMerger.AskMergeImages(this); - } + OpenFileDialog theDialog = new OpenFileDialog(); + theDialog.Multiselect = true; + theDialog.InitialDirectory = App.DefaultOutputPath + "\\Icons\\"; + theDialog.Title = @"Choose your images"; + theDialog.Filter = @"PNG Files (*.png)|*.png|JPEG Files (*.jpg)|*.jpg|BMP Files (*.bmp)|*.bmp|All Files (*.*)|*.*"; - public void AddFiles(string[] files) + if (theDialog.ShowDialog() == DialogResult.OK) + { + AddFiles(theDialog.FileNames); + + if (backgroundWorker1.IsBusy != true) + { + backgroundWorker1.RunWorkerAsync(); + } + } + } + private void AddFiles(string[] files) { if (files.Count() > 0) { @@ -37,21 +56,64 @@ namespace FModel.Forms } } } + private void mergeImages(List mySelectedImages) + { + int numperrow = 7; + Invoke(new Action(() => + { + numperrow = trackBar1.Value; + })); + var w = 527 * numperrow; + if (mySelectedImages.Count * 527 < 527 * numperrow) + { + w = mySelectedImages.Count * 527; + } + + int h = int.Parse(Math.Ceiling(double.Parse(mySelectedImages.Count.ToString()) / numperrow).ToString(CultureInfo.InvariantCulture)) * 527; + bmp = new Bitmap(w - 5, h - 5); + + var num = 1; + var curW = 0; + var curH = 0; + + for (int i = 0; i < mySelectedImages.Count; i++) + { + int percentage = (i + 1) * 100 / mySelectedImages.Count; + backgroundWorker1.ReportProgress(percentage); + + using (Graphics g = Graphics.FromImage(bmp)) + { + g.DrawImage(ImageUtilities.ResizeImage(mySelectedImages[i], 522, 522), new PointF(curW, curH)); + if (num % numperrow == 0) + { + curW = 0; + curH += 527; + num += 1; + } + else + { + curW += 527; + num += 1; + } + } + } + } private void button2_Click(object sender, EventArgs e) { - Properties.Settings.Default.mergerImagesRow = Decimal.ToInt32(numericUpDown1.Value); - Properties.Settings.Default.Save(); - - if (listBox1.Items.Count > 0) + if (pictureBox1.Image != null) { - List selectedImages = new List(); - for (int i = 0; i < listBox1.Items.Count; ++i) + SaveFileDialog saveTheDialog = new SaveFileDialog(); + saveTheDialog.Title = @"Save Icon"; + saveTheDialog.Filter = @"PNG Files (*.png)|*.png"; + saveTheDialog.InitialDirectory = App.DefaultOutputPath; + saveTheDialog.FileName = "Merger"; + if (saveTheDialog.ShowDialog() == DialogResult.OK) { - selectedImages.Add(Image.FromFile(((ListItem)listBox1.Items[i]).Value)); + pictureBox1.Image.Save(saveTheDialog.FileName, ImageFormat.Png); + new UpdateMyConsole(Path.GetFileNameWithoutExtension(saveTheDialog.FileName), Color.DarkRed).AppendToConsole(); + new UpdateMyConsole(" successfully saved", Color.Black, true).AppendToConsole(); } - - ImagesMerger.MergeSelected(selectedImages); } } @@ -63,12 +125,104 @@ namespace FModel.Forms { listBox1.Items.RemoveAt(listBox1.SelectedIndices[i]); } + + if (backgroundWorker1.IsBusy != true) + { + backgroundWorker1.RunWorkerAsync(); + } } } private void button4_Click(object sender, EventArgs e) { listBox1.Items.Clear(); + pictureBox1.Image = null; + progressBar1.Value = 0; + } + + private void Button5_Click(object sender, EventArgs e) + { + if (pictureBox1.Image != null) + { + var newForm = new Form(); + PictureBox pb = new PictureBox(); + pb.Dock = DockStyle.Fill; + pb.Image = pictureBox1.Image; + pb.SizeMode = PictureBoxSizeMode.Zoom; + + newForm.WindowState = FormWindowState.Maximized; + newForm.Size = pb.Image.Size; + newForm.Icon = Resources.FModel; + newForm.Text = "Temporary Merged Image"; + newForm.StartPosition = FormStartPosition.CenterScreen; + newForm.Controls.Add(pb); + newForm.Show(); + } + } + + private void BackgroundWorker1_DoWork(object sender, System.ComponentModel.DoWorkEventArgs e) + { + if ((selectedImages != null && selectedImages.Count > 0) || listBox1.Items.Count > 0) + { + selectedImages = new List(); + for (int i = 0; i < listBox1.Items.Count; ++i) + { + selectedImages.Add(Image.FromFile(((ListItem)listBox1.Items[i]).Value)); + } + mergeImages(selectedImages); + } + } + + private void BackgroundWorker1_RunWorkerCompleted(object sender, System.ComponentModel.RunWorkerCompletedEventArgs e) + { + if (bmp != null) + { + pictureBox1.Image = bmp; + } + + GC.Collect(); + backgroundWorker1.Dispose(); + } + + private void BackgroundWorker1_ProgressChanged(object sender, System.ComponentModel.ProgressChangedEventArgs e) + { + progressBar1.Value = e.ProgressPercentage; + } + + private void TrackBar1_Scroll(object sender, EventArgs e) + { + if (_scrollingTimer == null) + { + _scrollingTimer = new Timer() + { + Enabled = false, + Interval = 300, + Tag = (sender as TrackBar).Value + }; + _scrollingTimer.Tick += (s, ea) => + { + // check to see if the value has changed since we last ticked + if (trackBar1.Value == (int)_scrollingTimer.Tag) + { + // scrolling has stopped so we are good to go ahead and do stuff + _scrollingTimer.Stop(); + + if (backgroundWorker1.IsBusy != true) + { + backgroundWorker1.RunWorkerAsync(); + } + + _scrollingTimer.Dispose(); + _scrollingTimer = null; + } + else + { + // record the last value seen + _scrollingTimer.Tag = trackBar1.Value; + } + }; + _scrollingTimer.Start(); + } } } } diff --git a/FModel/Forms/MergeImages.resx b/FModel/Forms/MergeImages.resx index a12630e6..4d8132c9 100644 --- a/FModel/Forms/MergeImages.resx +++ b/FModel/Forms/MergeImages.resx @@ -117,6 +117,9 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + 17, 17 + diff --git a/FModel/Forms/Settings.Designer.cs b/FModel/Forms/Settings.Designer.cs index 67797b4f..66f49157 100644 --- a/FModel/Forms/Settings.Designer.cs +++ b/FModel/Forms/Settings.Designer.cs @@ -50,10 +50,6 @@ namespace FModel.Forms this.label8 = new System.Windows.Forms.Label(); this.button1 = new System.Windows.Forms.Button(); this.wPictureBox = new System.Windows.Forms.PictureBox(); - this.groupBox1 = new System.Windows.Forms.GroupBox(); - this.checkBoxSaveAsMergeImages = new System.Windows.Forms.CheckBox(); - this.textBox3 = new System.Windows.Forms.TextBox(); - this.label4 = new System.Windows.Forms.Label(); this.groupBox6 = new System.Windows.Forms.GroupBox(); this.button3 = new System.Windows.Forms.Button(); this.button2 = new System.Windows.Forms.Button(); @@ -71,7 +67,6 @@ namespace FModel.Forms ((System.ComponentModel.ISupportInitialize)(this.trackBar1)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.trackBar2)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.wPictureBox)).BeginInit(); - this.groupBox1.SuspendLayout(); this.groupBox6.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.trackBar3)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit(); @@ -148,7 +143,7 @@ namespace FModel.Forms // this.OKButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); this.OKButton.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.OKButton.Location = new System.Drawing.Point(475, 546); + this.OKButton.Location = new System.Drawing.Point(475, 493); this.OKButton.Name = "OKButton"; this.OKButton.Size = new System.Drawing.Size(97, 21); this.OKButton.TabIndex = 15; @@ -315,47 +310,6 @@ namespace FModel.Forms this.wPictureBox.TabIndex = 18; this.wPictureBox.TabStop = false; // - // groupBox1 - // - this.groupBox1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); - this.groupBox1.Controls.Add(this.checkBoxSaveAsMergeImages); - this.groupBox1.Controls.Add(this.textBox3); - this.groupBox1.Controls.Add(this.label4); - this.groupBox1.Location = new System.Drawing.Point(12, 487); - this.groupBox1.Name = "groupBox1"; - this.groupBox1.Size = new System.Drawing.Size(560, 49); - this.groupBox1.TabIndex = 17; - this.groupBox1.TabStop = false; - this.groupBox1.Text = "Merger"; - // - // checkBoxSaveAsMergeImages - // - this.checkBoxSaveAsMergeImages.AutoSize = true; - this.checkBoxSaveAsMergeImages.Checked = true; - this.checkBoxSaveAsMergeImages.CheckState = System.Windows.Forms.CheckState.Checked; - this.checkBoxSaveAsMergeImages.Location = new System.Drawing.Point(298, 21); - this.checkBoxSaveAsMergeImages.Name = "checkBoxSaveAsMergeImages"; - this.checkBoxSaveAsMergeImages.Size = new System.Drawing.Size(120, 17); - this.checkBoxSaveAsMergeImages.TabIndex = 13; - this.checkBoxSaveAsMergeImages.Text = "Enable \"Save as...\""; - this.checkBoxSaveAsMergeImages.UseVisualStyleBackColor = true; - // - // textBox3 - // - this.textBox3.Location = new System.Drawing.Point(69, 19); - this.textBox3.Name = "textBox3"; - this.textBox3.Size = new System.Drawing.Size(206, 20); - this.textBox3.TabIndex = 8; - // - // label4 - // - this.label4.AutoSize = true; - this.label4.Location = new System.Drawing.Point(6, 22); - this.label4.Name = "label4"; - this.label4.Size = new System.Drawing.Size(57, 13); - this.label4.TabIndex = 9; - this.label4.Text = "File Name:"; - // // groupBox6 // this.groupBox6.Controls.Add(this.button3); @@ -480,9 +434,8 @@ namespace FModel.Forms // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(584, 579); + this.ClientSize = new System.Drawing.Size(584, 526); this.Controls.Add(this.groupBox6); - this.Controls.Add(this.groupBox1); this.Controls.Add(this.groupBox4); this.Controls.Add(this.OKButton); this.Controls.Add(this.groupBox2); @@ -504,8 +457,6 @@ namespace FModel.Forms ((System.ComponentModel.ISupportInitialize)(this.trackBar1)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.trackBar2)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.wPictureBox)).EndInit(); - this.groupBox1.ResumeLayout(false); - this.groupBox1.PerformLayout(); this.groupBox6.ResumeLayout(false); this.groupBox6.PerformLayout(); ((System.ComponentModel.ISupportInitialize)(this.trackBar3)).EndInit(); @@ -533,16 +484,12 @@ namespace FModel.Forms private System.Windows.Forms.Label label8; private System.Windows.Forms.Button button1; private System.Windows.Forms.PictureBox wPictureBox; - private System.Windows.Forms.GroupBox groupBox1; - private System.Windows.Forms.TextBox textBox3; - private System.Windows.Forms.Label label4; private System.Windows.Forms.ComboBox comboBox1; private System.Windows.Forms.Label label10; private System.Windows.Forms.GroupBox groupBox6; private System.Windows.Forms.TextBox textBox6; private System.Windows.Forms.Label label12; private System.Windows.Forms.CheckBox checkBox_tryToOpen; - private System.Windows.Forms.CheckBox checkBoxSaveAsMergeImages; private System.Windows.Forms.CheckBox checkBox1; private System.Windows.Forms.PictureBox pictureBox1; private System.Windows.Forms.Button button2; diff --git a/FModel/Forms/Settings.cs b/FModel/Forms/Settings.cs index ed161347..b24a8d3b 100644 --- a/FModel/Forms/Settings.cs +++ b/FModel/Forms/Settings.cs @@ -40,10 +40,6 @@ namespace FModel.Forms checkBox_tryToOpen.Checked = Properties.Settings.Default.tryToOpenAssets; - //MERGER - textBox3.Text = Properties.Settings.Default.mergerFileName; - checkBoxSaveAsMergeImages.Checked = Properties.Settings.Default.mergerImagesSaveAs; - // Check if watermark exists Utilities.CheckWatermark(); @@ -127,10 +123,6 @@ namespace FModel.Forms Properties.Settings.Default.rarityNew = checkBox1.Checked; - //MERGER - Properties.Settings.Default.mergerFileName = textBox3.Text; - Properties.Settings.Default.mergerImagesSaveAs = checkBoxSaveAsMergeImages.Checked; - //WATERMARK Properties.Settings.Default.isWatermark = checkBox7.Checked; Properties.Settings.Default.wSize = trackBar2.Value; diff --git a/FModel/MainWindow.cs b/FModel/MainWindow.cs index 5e735016..bcb09ff0 100644 --- a/FModel/MainWindow.cs +++ b/FModel/MainWindow.cs @@ -615,6 +615,7 @@ namespace FModel } _selectedItemsArray = null; + backgroundWorker2.Dispose(); Checking.UmWorking = false; GC.Collect(); Invoke(new Action(() => @@ -1028,6 +1029,9 @@ namespace FModel BundleDesign.toDrawOn.TextRenderingHint = TextRenderingHint.AntiAliasGridFit; BundleDesign.toDrawOn.SmoothingMode = SmoothingMode.HighQuality; BundleDesign.myItem = theItem; + BundleDesign.isBundleLevelup = false; + BundleDesign.isGrantWithBundle = false; + BundleDesign.isRequiresBattlePass = false; BundleDesign.drawBackground(bmp, theItem); @@ -1043,7 +1047,6 @@ namespace FModel }); } - bool isSeparatorAlreadyAdded = false; for (int i = 0; i < BundleInfos.BundleData.Count; i++) { new UpdateMyConsole(BundleInfos.BundleData[i].questDescr, Color.SteelBlue).AppendToConsole(); @@ -1052,10 +1055,9 @@ namespace FModel BundleDesign.theY += 90; - if (!string.IsNullOrEmpty(BundleInfos.BundleData[i].questUnlockType) && !isSeparatorAlreadyAdded) + if (!string.IsNullOrEmpty(BundleInfos.BundleData[i].questUnlockType)) { - BundleDesign.drawPrestigeSeparator(); - isSeparatorAlreadyAdded = true; + BundleDesign.drawSeparator(BundleInfos.BundleData[i].questUnlockType); } //draw quest description @@ -1209,6 +1211,7 @@ namespace FModel } _selectedItemsArray = null; + backgroundWorker1.Dispose(); GC.Collect(); Invoke(new Action(() => { diff --git a/FModel/Methods/IconGenerator/ChallengeGenerator/BundleDesign.cs b/FModel/Methods/IconGenerator/ChallengeGenerator/BundleDesign.cs index 62739c80..af540de4 100644 --- a/FModel/Methods/IconGenerator/ChallengeGenerator/BundleDesign.cs +++ b/FModel/Methods/IconGenerator/ChallengeGenerator/BundleDesign.cs @@ -15,6 +15,9 @@ namespace FModel public static Graphics toDrawOn { get; set; } public static JToken myItem { get; set; } private static Color headerColor { get; set; } + public static bool isBundleLevelup { get; set; } + public static bool isRequiresBattlePass { get; set; } + public static bool isGrantWithBundle { get; set; } /// /// get a random color in case DisplayStyle doesn't exist in drawBackground() @@ -355,9 +358,25 @@ namespace FModel toDrawOn.DrawString(text, new Font(FontUtilities.pfc.Families[0], 15), new SolidBrush(Color.FromArgb(150, 255, 255, 255)), new Point(myBitmap.Width - 10, 210), FontUtilities.rightString); } - public static void drawPrestigeSeparator() + public static void drawSeparator(string unlockType) { - string texture = JohnWick.AssetToTexture2D("T-FNBR-MissionIcon-L"); + switch (unlockType) + { + case "EChallengeBundleQuestUnlockType::BundleLevelup": + if (!isBundleLevelup) { drawIconSeparator("T-FNBR-MissionIcon-L"); isBundleLevelup = true; } + break; + case "EChallengeBundleQuestUnlockType::RequiresBattlePass": + if (!isRequiresBattlePass) { drawIconSeparator("T-FNBR-BattlePass-L"); isRequiresBattlePass = true; } + break; + /*case "EChallengeBundleQuestUnlockType::GrantWithBundle": //GrantWithBundle doesn't mean free or paid battle pass so idk i just leave this here + if (!isGrantWithBundle) { drawPrestigeSeparator("T-FNBR-BattlePassChallenge-Silver-L"); isGrantWithBundle = true; } + break;*/ + } + } + + private static void drawIconSeparator(string iconName) + { + string texture = JohnWick.AssetToTexture2D(iconName); if (File.Exists(texture)) { Image itemIcon; diff --git a/FModel/Methods/IconGenerator/ChallengeGenerator/BundleInfos.cs b/FModel/Methods/IconGenerator/ChallengeGenerator/BundleInfos.cs index 8c5718ec..87941c5e 100644 --- a/FModel/Methods/IconGenerator/ChallengeGenerator/BundleInfos.cs +++ b/FModel/Methods/IconGenerator/ChallengeGenerator/BundleInfos.cs @@ -141,7 +141,7 @@ namespace FModel //prestige challenge check JToken questUnlockType = questInfo["QuestUnlockType"]; string unlockType = string.Empty; - if (questUnlockType != null && questUnlockType.Value().Equals("EChallengeBundleQuestUnlockType::BundleLevelup")) + if (questUnlockType != null) { unlockType = questUnlockType.Value(); } diff --git a/FModel/Methods/ImagesMerger/ImagesMerger.cs b/FModel/Methods/ImagesMerger/ImagesMerger.cs deleted file mode 100644 index 2a749db9..00000000 --- a/FModel/Methods/ImagesMerger/ImagesMerger.cs +++ /dev/null @@ -1,140 +0,0 @@ -using FModel.Forms; -using FModel.Properties; -using System; -using System.Collections.Generic; -using System.Drawing; -using System.Drawing.Imaging; -using System.IO; -using System.Globalization; -using System.Windows.Forms; - -namespace FModel -{ - static class ImagesMerger - { - /// - /// open a FileDialog to choose our images to merge, add them to the list of images - /// use this list to merge, with MergeSelected() - /// - public static void AskMergeImages(MergeImages mergeImagesForm) - { - if (string.IsNullOrEmpty(Properties.Settings.Default.mergerFileName)) - { - Properties.Settings.Default.mergerFileName = "Merger"; - Properties.Settings.Default.Save(); - } - - OpenFileDialog theDialog = new OpenFileDialog(); - theDialog.Multiselect = true; - theDialog.InitialDirectory = App.DefaultOutputPath + "\\Icons\\"; - theDialog.Title = @"Choose your images"; - theDialog.Filter = @"PNG Files (*.png)|*.png|JPEG Files (*.jpg)|*.jpg|BMP Files (*.bmp)|*.bmp|All Files (*.*)|*.*"; - - if (theDialog.ShowDialog() == DialogResult.OK) - { - if (mergeImagesForm != null && Application.OpenForms[mergeImagesForm.Name] != null) - mergeImagesForm.AddFiles(theDialog.FileNames); - } - } - - /// - /// take all the selected images and draw them one after the other depending on mergerImagesRow - /// at the end, save and open the generated image with OpenMerged() - /// - /// - public static void MergeSelected(List mySelectedImages) - { - string mergeFileName = Properties.Settings.Default.mergerFileName; - if (Properties.Settings.Default.mergerImagesSaveAs) - { - SaveFileDialog saveFileMergerImages = new SaveFileDialog(); - saveFileMergerImages.InitialDirectory = App.DefaultOutputPath; - saveFileMergerImages.DefaultExt = "png"; - saveFileMergerImages.Filter = "Image PNG (.png)|*.png"; - saveFileMergerImages.FileName = mergeFileName; - - if (saveFileMergerImages.ShowDialog() != DialogResult.OK) - return; - mergeFileName = Path.GetFileName(saveFileMergerImages.FileName); - } - - if (Properties.Settings.Default.mergerImagesRow == 0) - { - Properties.Settings.Default.mergerImagesRow = 7; - Properties.Settings.Default.Save(); - } - - int numperrow = Properties.Settings.Default.mergerImagesRow; - var w = 527 * numperrow; - if (mySelectedImages.Count * 527 < 527 * numperrow) - { - w = mySelectedImages.Count * 527; - } - - int h = int.Parse(Math.Ceiling(double.Parse(mySelectedImages.Count.ToString()) / numperrow).ToString(CultureInfo.InvariantCulture)) * 527; - try - { - Bitmap bmp = new Bitmap(w - 5, h - 5); - - var num = 1; - var curW = 0; - var curH = 0; - - for (int i = 0; i < mySelectedImages.Count; i++) - { - using (Graphics g = Graphics.FromImage(bmp)) - { - g.DrawImage(ImageUtilities.ResizeImage(mySelectedImages[i], 522, 522), new PointF(curW, curH)); - if (num % numperrow == 0) - { - curW = 0; - curH += 527; - num += 1; - } - else - { - curW += 527; - num += 1; - } - } - } - - if (!mergeFileName.Contains(".png")) - mergeFileName += ".png"; - - bmp.Save(App.DefaultOutputPath + "\\" + mergeFileName, ImageFormat.Png); - bmp.Dispose(); - - OpenMerged(App.DefaultOutputPath + "\\" + mergeFileName); - } - catch (Exception ex) - { - new UpdateMyConsole("[Merge Images]: " + ex.Message, Color.Red, true).AppendToConsole(); - } - } - - /// - /// if bitmap exist, open a new form in fullscreen and display the bitmap in a picturebox - /// - /// - private static void OpenMerged(string mergedImagePath) - { - if (File.Exists(mergedImagePath)) - { - var newForm = new Form(); - PictureBox pb = new PictureBox(); - pb.Dock = DockStyle.Fill; - pb.Image = Image.FromFile(mergedImagePath); - pb.SizeMode = PictureBoxSizeMode.Zoom; - - newForm.WindowState = FormWindowState.Maximized; - newForm.Size = pb.Image.Size; - newForm.Icon = Resources.FModel; - newForm.Text = App.DefaultOutputPath + @"\" + Properties.Settings.Default.mergerFileName + @".png"; - newForm.StartPosition = FormStartPosition.CenterScreen; - newForm.Controls.Add(pb); - newForm.Show(); - } - } - } -} diff --git a/FModel/Properties/Settings.Designer.cs b/FModel/Properties/Settings.Designer.cs index ac5da8e8..7943a703 100644 --- a/FModel/Properties/Settings.Designer.cs +++ b/FModel/Properties/Settings.Designer.cs @@ -107,30 +107,6 @@ namespace FModel.Properties { } } - [global::System.Configuration.UserScopedSettingAttribute()] - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.Configuration.DefaultSettingValueAttribute("")] - public string mergerFileName { - get { - return ((string)(this["mergerFileName"])); - } - set { - this["mergerFileName"] = value; - } - } - - [global::System.Configuration.UserScopedSettingAttribute()] - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.Configuration.DefaultSettingValueAttribute("0")] - public int mergerImagesRow { - get { - return ((int)(this["mergerImagesRow"])); - } - set { - this["mergerImagesRow"] = value; - } - } - [global::System.Configuration.UserScopedSettingAttribute()] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Configuration.DefaultSettingValueAttribute("")] @@ -251,18 +227,6 @@ namespace FModel.Properties { } } - [global::System.Configuration.UserScopedSettingAttribute()] - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.Configuration.DefaultSettingValueAttribute("False")] - public bool mergerImagesSaveAs { - get { - return ((bool)(this["mergerImagesSaveAs"])); - } - set { - this["mergerImagesSaveAs"] = value; - } - } - [global::System.Configuration.UserScopedSettingAttribute()] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Configuration.DefaultSettingValueAttribute("")] diff --git a/FModel/Properties/Settings.settings b/FModel/Properties/Settings.settings index fd53e25b..15fbd390 100644 --- a/FModel/Properties/Settings.settings +++ b/FModel/Properties/Settings.settings @@ -23,12 +23,6 @@ False - - - - - 0 - @@ -59,9 +53,6 @@ True - - False -