added featured image option to the icon creator

This commit is contained in:
AsvalGTA 2019-03-28 00:46:22 +01:00
parent 72af74ccd5
commit a3075f7560
12 changed files with 1433 additions and 491 deletions

View File

@ -52,6 +52,9 @@
<setting name="isWatermark" serializeAs="String">
<value>False</value>
</setting>
<setting name="loadFeaturedImage" serializeAs="String">
<value>False</value>
</setting>
</FModel.Properties.Settings>
</userSettings>
</configuration>

View File

@ -108,6 +108,7 @@
<DependentUpon>PAKWindow.cs</DependentUpon>
</Compile>
<Compile Include="Parser\ChallengeBundleIdParser.cs" />
<Compile Include="Parser\FeaturedParser.cs" />
<Compile Include="Parser\ItemsIDParser.cs" />
<Compile Include="Parser\QuestParser.cs" />
<Compile Include="Program.cs" />
@ -147,6 +148,7 @@
</ItemGroup>
<ItemGroup>
<Content Include="FNTools_Logo.ico" />
<None Include="Resources\wTemplateF.png" />
<None Include="Resources\wTemplate.png" />
<None Include="Resources\Quest.png" />
<None Include="Resources\BurbankBigCondensed-Black.otf" />

View File

@ -44,6 +44,7 @@
this.textBox2 = new System.Windows.Forms.TextBox();
this.label3 = new System.Windows.Forms.Label();
this.groupBox4 = new System.Windows.Forms.GroupBox();
this.checkBox8 = new System.Windows.Forms.CheckBox();
this.checkBox7 = new System.Windows.Forms.CheckBox();
this.filenameLabel = new System.Windows.Forms.Label();
this.trackBar1 = new System.Windows.Forms.TrackBar();
@ -214,6 +215,7 @@
//
// groupBox4
//
this.groupBox4.Controls.Add(this.checkBox8);
this.groupBox4.Controls.Add(this.checkBox7);
this.groupBox4.Controls.Add(this.filenameLabel);
this.groupBox4.Controls.Add(this.trackBar1);
@ -237,6 +239,17 @@
this.groupBox4.TabStop = false;
this.groupBox4.Text = "Icon Creation";
//
// checkBox8
//
this.checkBox8.AutoSize = true;
this.checkBox8.Location = new System.Drawing.Point(6, 79);
this.checkBox8.Name = "checkBox8";
this.checkBox8.Size = new System.Drawing.Size(177, 17);
this.checkBox8.TabIndex = 26;
this.checkBox8.Text = "Use Featured Image If Available";
this.checkBox8.UseVisualStyleBackColor = true;
this.checkBox8.CheckedChanged += new System.EventHandler(this.checkBox8_CheckedChanged);
//
// checkBox7
//
this.checkBox7.AutoSize = true;
@ -461,5 +474,6 @@
private System.Windows.Forms.TrackBar trackBar2;
private System.Windows.Forms.Label filenameLabel;
private System.Windows.Forms.CheckBox checkBox7;
private System.Windows.Forms.CheckBox checkBox8;
}
}

View File

@ -96,23 +96,43 @@ namespace FModel
comboBox1.SelectedItem = Properties.Settings.Default.IconName;
trackBar2.Value = Properties.Settings.Default.wSize;
trackBar1.Value = Properties.Settings.Default.wOpacity;
checkBox8.Checked = Properties.Settings.Default.loadFeaturedImage;
button1.Enabled = Properties.Settings.Default.isWatermark;
trackBar1.Enabled = Properties.Settings.Default.isWatermark;
trackBar2.Enabled = Properties.Settings.Default.isWatermark;
if (!string.IsNullOrEmpty(Properties.Settings.Default.wFilename))
if (Properties.Settings.Default.loadFeaturedImage == false)
{
filenameLabel.Text = "File Name: " + Path.GetFileName(Properties.Settings.Default.wFilename);
if (!string.IsNullOrEmpty(Properties.Settings.Default.wFilename))
{
filenameLabel.Text = "File Name: " + Path.GetFileName(Properties.Settings.Default.wFilename);
Bitmap bmp = new Bitmap(Properties.Resources.wTemplate);
Graphics g = Graphics.FromImage(bmp);
Image watermark = Image.FromFile(Properties.Settings.Default.wFilename);
var opacityImage = SetImageOpacity(watermark, (float)Properties.Settings.Default.wOpacity / 100);
g.DrawImage(ResizeImage(opacityImage, Properties.Settings.Default.wSize, Properties.Settings.Default.wSize), (522 - Properties.Settings.Default.wSize) / 2, (522 - Properties.Settings.Default.wSize) / 2, Properties.Settings.Default.wSize, Properties.Settings.Default.wSize);
Bitmap bmp = new Bitmap(Properties.Resources.wTemplate);
Graphics g = Graphics.FromImage(bmp);
wPictureBox.Image = bmp;
Image watermark = Image.FromFile(Properties.Settings.Default.wFilename);
var opacityImage = SetImageOpacity(watermark, (float)Properties.Settings.Default.wOpacity / 100);
g.DrawImage(ResizeImage(opacityImage, Properties.Settings.Default.wSize, Properties.Settings.Default.wSize), (522 - Properties.Settings.Default.wSize) / 2, (522 - Properties.Settings.Default.wSize) / 2, Properties.Settings.Default.wSize, Properties.Settings.Default.wSize);
wPictureBox.Image = bmp;
}
}
if (Properties.Settings.Default.loadFeaturedImage == true)
{
if (!string.IsNullOrEmpty(Properties.Settings.Default.wFilename))
{
filenameLabel.Text = "File Name: " + Path.GetFileName(Properties.Settings.Default.wFilename);
Bitmap bmp = new Bitmap(Properties.Resources.wTemplateF);
Graphics g = Graphics.FromImage(bmp);
Image watermark = Image.FromFile(Properties.Settings.Default.wFilename);
var opacityImage = SetImageOpacity(watermark, (float)Properties.Settings.Default.wOpacity / 100);
g.DrawImage(ResizeImage(opacityImage, Properties.Settings.Default.wSize, Properties.Settings.Default.wSize), (522 - Properties.Settings.Default.wSize) / 2, (522 - Properties.Settings.Default.wSize) / 2, Properties.Settings.Default.wSize, Properties.Settings.Default.wSize);
wPictureBox.Image = bmp;
}
}
PAKBefore = Properties.Settings.Default.FortnitePAKs;
@ -177,6 +197,14 @@ namespace FModel
{
Properties.Settings.Default.isWatermark = false;
}
if (checkBox8.Checked == true)
{
Properties.Settings.Default.loadFeaturedImage = true;
}
if (checkBox8.Checked == false)
{
Properties.Settings.Default.loadFeaturedImage = false;
}
if (comboBox1.SelectedItem == null)
{
Properties.Settings.Default.IconName = "Selected Item Name (i.e. CID_001_Athena_Commando_F_Default)";
@ -225,48 +253,102 @@ namespace FModel
Properties.Settings.Default.Save();
filenameLabel.Text = "File Name: " + Path.GetFileName(Properties.Settings.Default.wFilename);
if (!string.IsNullOrEmpty(Properties.Settings.Default.wFilename))
if (checkBox8.Checked == false)
{
Bitmap bmp = new Bitmap(Properties.Resources.wTemplate);
Graphics g = Graphics.FromImage(bmp);
if (!string.IsNullOrEmpty(Properties.Settings.Default.wFilename))
{
Bitmap bmp = new Bitmap(Properties.Resources.wTemplate);
Graphics g = Graphics.FromImage(bmp);
Image watermark = Image.FromFile(Properties.Settings.Default.wFilename);
g.DrawImage(ResizeImage(watermark, trackBar2.Value, trackBar2.Value), (522 - trackBar2.Value) / 2, (522 - trackBar2.Value) / 2, trackBar2.Value, trackBar2.Value);
Image watermark = Image.FromFile(Properties.Settings.Default.wFilename);
var opacityImage = SetImageOpacity(watermark, (float)trackBar1.Value / 100);
g.DrawImage(ResizeImage(opacityImage, trackBar2.Value, trackBar2.Value), (522 - trackBar2.Value) / 2, (522 - trackBar2.Value) / 2, trackBar2.Value, trackBar2.Value);
wPictureBox.Image = bmp;
wPictureBox.Image = bmp;
}
}
if (checkBox8.Checked == true)
{
if (!string.IsNullOrEmpty(Properties.Settings.Default.wFilename))
{
Bitmap bmp = new Bitmap(Properties.Resources.wTemplateF);
Graphics g = Graphics.FromImage(bmp);
Image watermark = Image.FromFile(Properties.Settings.Default.wFilename);
var opacityImage = SetImageOpacity(watermark, (float)trackBar1.Value / 100);
g.DrawImage(ResizeImage(opacityImage, trackBar2.Value, trackBar2.Value), (522 - trackBar2.Value) / 2, (522 - trackBar2.Value) / 2, trackBar2.Value, trackBar2.Value);
wPictureBox.Image = bmp;
}
}
}
}
private void trackBar2_ValueChanged(object sender, EventArgs e)
{
if (!string.IsNullOrEmpty(Properties.Settings.Default.wFilename))
if (checkBox8.Checked == false)
{
Bitmap bmp = new Bitmap(Properties.Resources.wTemplate);
Graphics g = Graphics.FromImage(bmp);
if (!string.IsNullOrEmpty(Properties.Settings.Default.wFilename))
{
Bitmap bmp = new Bitmap(Properties.Resources.wTemplate);
Graphics g = Graphics.FromImage(bmp);
Image watermark = Image.FromFile(Properties.Settings.Default.wFilename);
var opacityImage = SetImageOpacity(watermark, (float)trackBar1.Value / 100);
g.DrawImage(ResizeImage(opacityImage, trackBar2.Value, trackBar2.Value), (522 - trackBar2.Value) / 2, (522 - trackBar2.Value) / 2, trackBar2.Value, trackBar2.Value);
Image watermark = Image.FromFile(Properties.Settings.Default.wFilename);
var opacityImage = SetImageOpacity(watermark, (float)trackBar1.Value / 100);
g.DrawImage(ResizeImage(opacityImage, trackBar2.Value, trackBar2.Value), (522 - trackBar2.Value) / 2, (522 - trackBar2.Value) / 2, trackBar2.Value, trackBar2.Value);
wPictureBox.Image = bmp;
wPictureBox.Refresh();
wPictureBox.Image = bmp;
wPictureBox.Refresh();
}
}
if (checkBox8.Checked == true)
{
if (!string.IsNullOrEmpty(Properties.Settings.Default.wFilename))
{
Bitmap bmp = new Bitmap(Properties.Resources.wTemplateF);
Graphics g = Graphics.FromImage(bmp);
Image watermark = Image.FromFile(Properties.Settings.Default.wFilename);
var opacityImage = SetImageOpacity(watermark, (float)trackBar1.Value / 100);
g.DrawImage(ResizeImage(opacityImage, trackBar2.Value, trackBar2.Value), (522 - trackBar2.Value) / 2, (522 - trackBar2.Value) / 2, trackBar2.Value, trackBar2.Value);
wPictureBox.Image = bmp;
wPictureBox.Refresh();
}
}
}
private void trackBar1_ValueChanged(object sender, EventArgs e)
{
if (!string.IsNullOrEmpty(Properties.Settings.Default.wFilename))
if (checkBox8.Checked == false)
{
Bitmap bmp = new Bitmap(Properties.Resources.wTemplate);
Graphics g = Graphics.FromImage(bmp);
if (!string.IsNullOrEmpty(Properties.Settings.Default.wFilename))
{
Bitmap bmp = new Bitmap(Properties.Resources.wTemplate);
Graphics g = Graphics.FromImage(bmp);
Image watermark = Image.FromFile(Properties.Settings.Default.wFilename);
var opacityImage = SetImageOpacity(watermark, (float)trackBar1.Value / 100);
g.DrawImage(ResizeImage(opacityImage, trackBar2.Value, trackBar2.Value), (522 - trackBar2.Value) / 2, (522 - trackBar2.Value) / 2, trackBar2.Value, trackBar2.Value);
Image watermark = Image.FromFile(Properties.Settings.Default.wFilename);
var opacityImage = SetImageOpacity(watermark, (float)trackBar1.Value / 100);
g.DrawImage(ResizeImage(opacityImage, trackBar2.Value, trackBar2.Value), (522 - trackBar2.Value) / 2, (522 - trackBar2.Value) / 2, trackBar2.Value, trackBar2.Value);
wPictureBox.Image = bmp;
wPictureBox.Refresh();
wPictureBox.Image = bmp;
wPictureBox.Refresh();
}
}
if (checkBox8.Checked == true)
{
if (!string.IsNullOrEmpty(Properties.Settings.Default.wFilename))
{
Bitmap bmp = new Bitmap(Properties.Resources.wTemplateF);
Graphics g = Graphics.FromImage(bmp);
Image watermark = Image.FromFile(Properties.Settings.Default.wFilename);
var opacityImage = SetImageOpacity(watermark, (float)trackBar1.Value / 100);
g.DrawImage(ResizeImage(opacityImage, trackBar2.Value, trackBar2.Value), (522 - trackBar2.Value) / 2, (522 - trackBar2.Value) / 2, trackBar2.Value, trackBar2.Value);
wPictureBox.Image = bmp;
wPictureBox.Refresh();
}
}
}
@ -285,5 +367,33 @@ namespace FModel
trackBar2.Enabled = true;
}
}
private void checkBox8_CheckedChanged(object sender, EventArgs e)
{
if (checkBox8.Checked == false)
{
Bitmap bmp = new Bitmap(Properties.Resources.wTemplate);
Graphics g = Graphics.FromImage(bmp);
if (!string.IsNullOrEmpty(Properties.Settings.Default.wFilename))
{
Image watermark = Image.FromFile(Properties.Settings.Default.wFilename);
var opacityImage = SetImageOpacity(watermark, (float)trackBar1.Value / 100);
g.DrawImage(ResizeImage(opacityImage, trackBar2.Value, trackBar2.Value), (522 - trackBar2.Value) / 2, (522 - trackBar2.Value) / 2, trackBar2.Value, trackBar2.Value);
}
wPictureBox.Image = bmp;
}
if (checkBox8.Checked == true)
{
Bitmap bmp = new Bitmap(Properties.Resources.wTemplateF);
Graphics g = Graphics.FromImage(bmp);
if (!string.IsNullOrEmpty(Properties.Settings.Default.wFilename))
{
Image watermark = Image.FromFile(Properties.Settings.Default.wFilename);
var opacityImage = SetImageOpacity(watermark, (float)trackBar1.Value / 100);
g.DrawImage(ResizeImage(opacityImage, trackBar2.Value, trackBar2.Value), (522 - trackBar2.Value) / 2, (522 - trackBar2.Value) / 2, trackBar2.Value, trackBar2.Value);
}
wPictureBox.Image = bmp;
}
}
}
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,100 @@
// <auto-generated />
//
// To parse this JSON data, add NuGet 'Newtonsoft.Json' then do:
//
// using FModel.Parser;
//
// var featuredParser = FeaturedParser.FromJson(jsonString);
namespace FModel.Parser.Featured
{
using System;
using System.Collections.Generic;
using System.Globalization;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
public partial class FeaturedParser
{
[JsonProperty("export_type")]
public string ExportType { get; set; }
[JsonProperty("TileImage")]
public ImageLol TileImage { get; set; }
[JsonProperty("DetailsImage")]
public ImageLol DetailsImage { get; set; }
[JsonProperty("Gradient")]
public Gradient Gradient { get; set; }
[JsonProperty("Background")]
public Background Background { get; set; }
}
public partial class Background
{
[JsonProperty("r")]
public double R { get; set; }
[JsonProperty("g")]
public double G { get; set; }
[JsonProperty("b")]
public double B { get; set; }
[JsonProperty("a")]
public long A { get; set; }
}
public partial class ImageLol
{
[JsonProperty("ImageSize")]
public ImageSize ImageSize { get; set; }
[JsonProperty("ResourceObject")]
public string ResourceObject { get; set; }
}
public partial class ImageSize
{
[JsonProperty("x")]
public long X { get; set; }
[JsonProperty("y")]
public long Y { get; set; }
}
public partial class Gradient
{
[JsonProperty("Start")]
public Background Start { get; set; }
[JsonProperty("Stop")]
public Background Stop { get; set; }
}
public partial class FeaturedParser
{
public static FeaturedParser[] FromJson(string json) => JsonConvert.DeserializeObject<FeaturedParser[]>(json, FModel.Parser.Featured.Converter.Settings);
}
public static class Serialize
{
public static string ToJson(this FeaturedParser[] self) => JsonConvert.SerializeObject(self, FModel.Parser.Featured.Converter.Settings);
}
internal static class Converter
{
public static readonly JsonSerializerSettings Settings = new JsonSerializerSettings
{
MetadataPropertyHandling = MetadataPropertyHandling.Ignore,
DateParseHandling = DateParseHandling.None,
Converters =
{
new IsoDateTimeConverter { DateTimeStyles = DateTimeStyles.AssumeUniversal }
},
};
}
}

View File

@ -52,6 +52,9 @@ namespace FModel.Items
[JsonProperty("LargePreviewImage")]
public PreviewImage LargePreviewImage { get; set; }
[JsonProperty("DisplayAssetPath")]
public DisplayAssetPath DisplayAssetPath { get; set; }
}
public partial class GameplayTags
@ -69,6 +72,15 @@ namespace FModel.Items
public string SubPathString { get; set; }
}
public partial class DisplayAssetPath
{
[JsonProperty("asset_path_name")]
public string AssetPathName { get; set; }
[JsonProperty("sub_path_string")]
public string SubPathString { get; set; }
}
public partial class ItemsIdParser
{
public static ItemsIdParser[] FromJson(string json) => JsonConvert.DeserializeObject<ItemsIdParser[]>(json, FModel.Items.Converter.Settings);

View File

@ -219,5 +219,15 @@ namespace FModel.Properties {
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Recherche une ressource localisée de type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap wTemplateF {
get {
object obj = ResourceManager.GetObject("wTemplateF", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
}
}

View File

@ -127,6 +127,9 @@
<data name="L512" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\L512.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="U512" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\U512.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="R512" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\R512.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
@ -136,9 +139,6 @@
<data name="FNTools_Logo_Icon" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\FNTools_Logo.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="BurbankBigCondensed_Black" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\BurbankBigCondensed-Black.otf;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="FNTools_Logo" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\FNTools_Logo.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
@ -148,22 +148,25 @@
<data name="M512" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\M512.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="unknown512" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\unknown512.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="BurbankBigCondensed_Bold" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\BurbankBigCondensed-Bold.otf;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="E512" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\E512.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="T512" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\T512.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="U512" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\U512.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="wTemplate" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\wTemplate.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="BurbankBigCondensed_Black" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\BurbankBigCondensed-Black.otf;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="T512" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\T512.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="unknown512" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\unknown512.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="wTemplateF" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\wTemplateF.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
</root>

View File

@ -201,5 +201,17 @@ namespace FModel.Properties {
this["isWatermark"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("False")]
public bool loadFeaturedImage {
get {
return ((bool)(this["loadFeaturedImage"]));
}
set {
this["loadFeaturedImage"] = value;
}
}
}
}

View File

@ -47,5 +47,8 @@
<Setting Name="isWatermark" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value>
</Setting>
<Setting Name="loadFeaturedImage" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value>
</Setting>
</Settings>
</SettingsFile>

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB