mirror of
https://github.com/ShareX/ShareX.git
synced 2024-10-01 09:47:22 +13:00
Added "Copy Discord emoji syntax" button to image splitter tool
This commit is contained in:
parent
e32661eee2
commit
2ed966fe05
3 changed files with 78 additions and 13 deletions
10
ShareX.MediaLib/Forms/ImageSplitterForm.Designer.cs
generated
10
ShareX.MediaLib/Forms/ImageSplitterForm.Designer.cs
generated
|
@ -40,6 +40,7 @@ private void InitializeComponent()
|
||||||
this.btnImageFilePathBrowse = new System.Windows.Forms.Button();
|
this.btnImageFilePathBrowse = new System.Windows.Forms.Button();
|
||||||
this.btnOutputFolderBrowse = new System.Windows.Forms.Button();
|
this.btnOutputFolderBrowse = new System.Windows.Forms.Button();
|
||||||
this.btnSplitImage = new System.Windows.Forms.Button();
|
this.btnSplitImage = new System.Windows.Forms.Button();
|
||||||
|
this.btnCopyDiscordEmoji = new System.Windows.Forms.Button();
|
||||||
((System.ComponentModel.ISupportInitialize)(this.nudRowCount)).BeginInit();
|
((System.ComponentModel.ISupportInitialize)(this.nudRowCount)).BeginInit();
|
||||||
((System.ComponentModel.ISupportInitialize)(this.nudColumnCount)).BeginInit();
|
((System.ComponentModel.ISupportInitialize)(this.nudColumnCount)).BeginInit();
|
||||||
this.SuspendLayout();
|
this.SuspendLayout();
|
||||||
|
@ -125,11 +126,19 @@ private void InitializeComponent()
|
||||||
this.btnSplitImage.UseVisualStyleBackColor = true;
|
this.btnSplitImage.UseVisualStyleBackColor = true;
|
||||||
this.btnSplitImage.Click += new System.EventHandler(this.BtnSplitImage_Click);
|
this.btnSplitImage.Click += new System.EventHandler(this.BtnSplitImage_Click);
|
||||||
//
|
//
|
||||||
|
// btnCopyDiscordEmoji
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.btnCopyDiscordEmoji, "btnCopyDiscordEmoji");
|
||||||
|
this.btnCopyDiscordEmoji.Name = "btnCopyDiscordEmoji";
|
||||||
|
this.btnCopyDiscordEmoji.UseVisualStyleBackColor = true;
|
||||||
|
this.btnCopyDiscordEmoji.Click += new System.EventHandler(this.btnCopyDiscordEmoji_Click);
|
||||||
|
//
|
||||||
// ImageSplitterForm
|
// ImageSplitterForm
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this, "$this");
|
resources.ApplyResources(this, "$this");
|
||||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||||
this.BackColor = System.Drawing.SystemColors.Window;
|
this.BackColor = System.Drawing.SystemColors.Window;
|
||||||
|
this.Controls.Add(this.btnCopyDiscordEmoji);
|
||||||
this.Controls.Add(this.btnSplitImage);
|
this.Controls.Add(this.btnSplitImage);
|
||||||
this.Controls.Add(this.btnOutputFolderBrowse);
|
this.Controls.Add(this.btnOutputFolderBrowse);
|
||||||
this.Controls.Add(this.btnImageFilePathBrowse);
|
this.Controls.Add(this.btnImageFilePathBrowse);
|
||||||
|
@ -164,5 +173,6 @@ private void InitializeComponent()
|
||||||
private System.Windows.Forms.Button btnImageFilePathBrowse;
|
private System.Windows.Forms.Button btnImageFilePathBrowse;
|
||||||
private System.Windows.Forms.Button btnOutputFolderBrowse;
|
private System.Windows.Forms.Button btnOutputFolderBrowse;
|
||||||
private System.Windows.Forms.Button btnSplitImage;
|
private System.Windows.Forms.Button btnSplitImage;
|
||||||
|
private System.Windows.Forms.Button btnCopyDiscordEmoji;
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -29,6 +29,7 @@ You should have received a copy of the GNU General Public License
|
||||||
using System.Drawing;
|
using System.Drawing;
|
||||||
using System.Drawing.Imaging;
|
using System.Drawing.Imaging;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
|
|
||||||
|
@ -102,10 +103,12 @@ private List<string> SplitImage(string filePath, int rowCount, int columnCount,
|
||||||
{
|
{
|
||||||
List<Image> images = ImageHelpers.SplitImage(img, rowCount, columnCount);
|
List<Image> images = ImageHelpers.SplitImage(img, rowCount, columnCount);
|
||||||
|
|
||||||
|
string originalFileName = Path.GetFileNameWithoutExtension(filePath);
|
||||||
|
|
||||||
for (int i = 0; i < images.Count; i++)
|
for (int i = 0; i < images.Count; i++)
|
||||||
{
|
{
|
||||||
string filename = Path.GetFileNameWithoutExtension(filePath) + (i + 1) + ".png";
|
string fileName = originalFileName + (i + 1) + ".png";
|
||||||
string outputPath = Path.Combine(outputFolder, filename);
|
string outputPath = Path.Combine(outputFolder, fileName);
|
||||||
images[i].Save(outputPath, ImageFormat.Png);
|
images[i].Save(outputPath, ImageFormat.Png);
|
||||||
filePaths.Add(outputPath);
|
filePaths.Add(outputPath);
|
||||||
}
|
}
|
||||||
|
@ -121,5 +124,33 @@ private async Task<List<string>> SplitImageAsync(string filePath, int rowCount,
|
||||||
return SplitImage(filePath, rowCount, columnCount, outputFolder);
|
return SplitImage(filePath, rowCount, columnCount, outputFolder);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void btnCopyDiscordEmoji_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
string filePath = txtImageFilePath.Text;
|
||||||
|
string fileName = Path.GetFileNameWithoutExtension(filePath);
|
||||||
|
int rowCount = (int)nudRowCount.Value;
|
||||||
|
int columnCount = (int)nudColumnCount.Value;
|
||||||
|
|
||||||
|
StringBuilder sb = new StringBuilder();
|
||||||
|
|
||||||
|
for (int y = 0; y < rowCount; y++)
|
||||||
|
{
|
||||||
|
for (int x = 0; x < columnCount; x++)
|
||||||
|
{
|
||||||
|
int index = (y * columnCount) + x + 1;
|
||||||
|
sb.Append($":{fileName}{index}:");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (y + 1 < rowCount)
|
||||||
|
{
|
||||||
|
sb.AppendLine();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
string text = sb.ToString();
|
||||||
|
|
||||||
|
Clipboard.SetText(text);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -144,7 +144,7 @@
|
||||||
<value>$this</value>
|
<value>$this</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>lblImageFilePath.ZOrder" xml:space="preserve">
|
<data name=">>lblImageFilePath.ZOrder" xml:space="preserve">
|
||||||
<value>10</value>
|
<value>11</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="lblRowCount.AutoSize" type="System.Boolean, mscorlib">
|
<data name="lblRowCount.AutoSize" type="System.Boolean, mscorlib">
|
||||||
<value>True</value>
|
<value>True</value>
|
||||||
|
@ -171,7 +171,7 @@
|
||||||
<value>$this</value>
|
<value>$this</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>lblRowCount.ZOrder" xml:space="preserve">
|
<data name=">>lblRowCount.ZOrder" xml:space="preserve">
|
||||||
<value>9</value>
|
<value>10</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="lblColumnCount.AutoSize" type="System.Boolean, mscorlib">
|
<data name="lblColumnCount.AutoSize" type="System.Boolean, mscorlib">
|
||||||
<value>True</value>
|
<value>True</value>
|
||||||
|
@ -198,7 +198,7 @@
|
||||||
<value>$this</value>
|
<value>$this</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>lblColumnCount.ZOrder" xml:space="preserve">
|
<data name=">>lblColumnCount.ZOrder" xml:space="preserve">
|
||||||
<value>8</value>
|
<value>9</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="nudRowCount.Location" type="System.Drawing.Point, System.Drawing">
|
<data name="nudRowCount.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
<value>120, 36</value>
|
<value>120, 36</value>
|
||||||
|
@ -223,7 +223,7 @@
|
||||||
<value>$this</value>
|
<value>$this</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>nudRowCount.ZOrder" xml:space="preserve">
|
<data name=">>nudRowCount.ZOrder" xml:space="preserve">
|
||||||
<value>7</value>
|
<value>8</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="nudColumnCount.Location" type="System.Drawing.Point, System.Drawing">
|
<data name="nudColumnCount.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
<value>120, 60</value>
|
<value>120, 60</value>
|
||||||
|
@ -247,7 +247,7 @@
|
||||||
<value>$this</value>
|
<value>$this</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>nudColumnCount.ZOrder" xml:space="preserve">
|
<data name=">>nudColumnCount.ZOrder" xml:space="preserve">
|
||||||
<value>6</value>
|
<value>7</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="txtImageFilePath.Location" type="System.Drawing.Point, System.Drawing">
|
<data name="txtImageFilePath.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
<value>120, 12</value>
|
<value>120, 12</value>
|
||||||
|
@ -268,7 +268,7 @@
|
||||||
<value>$this</value>
|
<value>$this</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>txtImageFilePath.ZOrder" xml:space="preserve">
|
<data name=">>txtImageFilePath.ZOrder" xml:space="preserve">
|
||||||
<value>5</value>
|
<value>6</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="lblOutputFolder.AutoSize" type="System.Boolean, mscorlib">
|
<data name="lblOutputFolder.AutoSize" type="System.Boolean, mscorlib">
|
||||||
<value>True</value>
|
<value>True</value>
|
||||||
|
@ -295,7 +295,7 @@
|
||||||
<value>$this</value>
|
<value>$this</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>lblOutputFolder.ZOrder" xml:space="preserve">
|
<data name=">>lblOutputFolder.ZOrder" xml:space="preserve">
|
||||||
<value>4</value>
|
<value>5</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="txtOutputFolder.Location" type="System.Drawing.Point, System.Drawing">
|
<data name="txtOutputFolder.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
<value>120, 84</value>
|
<value>120, 84</value>
|
||||||
|
@ -316,7 +316,7 @@
|
||||||
<value>$this</value>
|
<value>$this</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>txtOutputFolder.ZOrder" xml:space="preserve">
|
<data name=">>txtOutputFolder.ZOrder" xml:space="preserve">
|
||||||
<value>3</value>
|
<value>4</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="btnImageFilePathBrowse.Location" type="System.Drawing.Point, System.Drawing">
|
<data name="btnImageFilePathBrowse.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
<value>408, 11</value>
|
<value>408, 11</value>
|
||||||
|
@ -340,7 +340,7 @@
|
||||||
<value>$this</value>
|
<value>$this</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>btnImageFilePathBrowse.ZOrder" xml:space="preserve">
|
<data name=">>btnImageFilePathBrowse.ZOrder" xml:space="preserve">
|
||||||
<value>2</value>
|
<value>3</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="btnOutputFolderBrowse.Location" type="System.Drawing.Point, System.Drawing">
|
<data name="btnOutputFolderBrowse.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
<value>408, 83</value>
|
<value>408, 83</value>
|
||||||
|
@ -364,13 +364,13 @@
|
||||||
<value>$this</value>
|
<value>$this</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>btnOutputFolderBrowse.ZOrder" xml:space="preserve">
|
<data name=">>btnOutputFolderBrowse.ZOrder" xml:space="preserve">
|
||||||
<value>1</value>
|
<value>2</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="btnSplitImage.Location" type="System.Drawing.Point, System.Drawing">
|
<data name="btnSplitImage.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
<value>16, 112</value>
|
<value>16, 112</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="btnSplitImage.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="btnSplitImage.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>424, 24</value>
|
<value>208, 24</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="btnSplitImage.TabIndex" type="System.Int32, mscorlib">
|
<data name="btnSplitImage.TabIndex" type="System.Int32, mscorlib">
|
||||||
<value>10</value>
|
<value>10</value>
|
||||||
|
@ -388,6 +388,30 @@
|
||||||
<value>$this</value>
|
<value>$this</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>btnSplitImage.ZOrder" xml:space="preserve">
|
<data name=">>btnSplitImage.ZOrder" xml:space="preserve">
|
||||||
|
<value>1</value>
|
||||||
|
</data>
|
||||||
|
<data name="btnCopyDiscordEmoji.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>232, 112</value>
|
||||||
|
</data>
|
||||||
|
<data name="btnCopyDiscordEmoji.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>208, 24</value>
|
||||||
|
</data>
|
||||||
|
<data name="btnCopyDiscordEmoji.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>11</value>
|
||||||
|
</data>
|
||||||
|
<data name="btnCopyDiscordEmoji.Text" xml:space="preserve">
|
||||||
|
<value>Copy Discord emoji syntax</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>btnCopyDiscordEmoji.Name" xml:space="preserve">
|
||||||
|
<value>btnCopyDiscordEmoji</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>btnCopyDiscordEmoji.Type" xml:space="preserve">
|
||||||
|
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>btnCopyDiscordEmoji.Parent" xml:space="preserve">
|
||||||
|
<value>$this</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>btnCopyDiscordEmoji.ZOrder" xml:space="preserve">
|
||||||
<value>0</value>
|
<value>0</value>
|
||||||
</data>
|
</data>
|
||||||
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
|
Loading…
Reference in a new issue