Merge pull request #494 from qiankanglai/tga

support exporting texture2d as tga
This commit is contained in:
Perfare 2020-03-14 00:00:40 +08:00 committed by GitHub
commit 72b84ee24d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 6000 additions and 3 deletions

View File

@ -65,6 +65,7 @@
<Compile Include="Math\Vector2.cs" />
<Compile Include="Math\Vector3.cs" />
<Compile Include="Math\Vector4.cs" />
<Compile Include="TGASharpLib\TGASharpLib.cs" />
<Compile Include="UType.cs" />
<Compile Include="ResourceReader.cs" />
<Compile Include="IImported.cs" />

File diff suppressed because it is too large Load Diff

View File

@ -33,6 +33,7 @@
this.groupBox1 = new System.Windows.Forms.GroupBox();
this.convertAudio = new System.Windows.Forms.CheckBox();
this.panel1 = new System.Windows.Forms.Panel();
this.totga = new System.Windows.Forms.RadioButton();
this.tojpg = new System.Windows.Forms.RadioButton();
this.topng = new System.Windows.Forms.RadioButton();
this.tobmp = new System.Windows.Forms.RadioButton();
@ -110,14 +111,25 @@
//
// panel1
//
this.panel1.Controls.Add(this.totga);
this.panel1.Controls.Add(this.tojpg);
this.panel1.Controls.Add(this.topng);
this.panel1.Controls.Add(this.tobmp);
this.panel1.Location = new System.Drawing.Point(30, 42);
this.panel1.Name = "panel1";
this.panel1.Size = new System.Drawing.Size(146, 30);
this.panel1.Size = new System.Drawing.Size(196, 30);
this.panel1.TabIndex = 5;
//
// totga
//
this.totga.AutoSize = true;
this.totga.Location = new System.Drawing.Point(144, 6);
this.totga.Name = "totga";
this.totga.Size = new System.Drawing.Size(47, 16);
this.totga.TabIndex = 2;
this.totga.Text = "TGA";
this.totga.UseVisualStyleBackColor = true;
//
// tojpg
//
this.tojpg.AutoSize = true;
@ -421,6 +433,7 @@
private System.Windows.Forms.RadioButton tojpg;
private System.Windows.Forms.RadioButton topng;
private System.Windows.Forms.RadioButton tobmp;
private System.Windows.Forms.RadioButton totga;
private System.Windows.Forms.CheckBox convertAudio;
private System.Windows.Forms.Panel panel1;
private System.Windows.Forms.GroupBox groupBox2;

View File

@ -20,6 +20,7 @@ namespace AssetStudioGUI
return false;
ImageFormat format = null;
var ext = (string)Properties.Settings.Default["convertType"];
bool tga = false;
switch (ext)
{
case "BMP":
@ -31,11 +32,20 @@ namespace AssetStudioGUI
case "JPEG":
format = ImageFormat.Jpeg;
break;
case "TGA":
tga = true;
break;
}
var exportFullName = exportPathName + item.Text + "." + ext.ToLower();
if (ExportFileExists(exportFullName))
return false;
bitmap.Save(exportFullName, format);
if (tga)
{
TGASharpLib.TGA file = new TGASharpLib.TGA(bitmap);
file.Save(exportFullName);
}
else
bitmap.Save(exportFullName, format);
bitmap.Dispose();
return true;
}
@ -251,6 +261,7 @@ namespace AssetStudioGUI
{
ImageFormat format = null;
var type = (string)Properties.Settings.Default["convertType"];
bool tga = false;
switch (type)
{
case "BMP":
@ -262,6 +273,9 @@ namespace AssetStudioGUI
case "JPEG":
format = ImageFormat.Jpeg;
break;
case "TGA":
tga = true;
break;
}
var exportFullName = exportPath + item.Text + "." + type.ToLower();
if (ExportFileExists(exportFullName))
@ -269,7 +283,13 @@ namespace AssetStudioGUI
var bitmap = SpriteHelper.GetImageFromSprite((Sprite)item.Asset);
if (bitmap != null)
{
bitmap.Save(exportFullName, format);
if (tga)
{
TGASharpLib.TGA file = new TGASharpLib.TGA(bitmap);
file.Save(exportFullName);
}
else
bitmap.Save(exportFullName, format);
bitmap.Dispose();
return true;
}