diff --git a/AxibugEmuOnline.Client/Assets/Script/AppMain/EmuCore.cs b/AxibugEmuOnline.Client/Assets/Script/AppMain/EmuCore.cs
index dfaebcec..2014c0a1 100644
--- a/AxibugEmuOnline.Client/Assets/Script/AppMain/EmuCore.cs
+++ b/AxibugEmuOnline.Client/Assets/Script/AppMain/EmuCore.cs
@@ -44,6 +44,11 @@ namespace AxibugEmuOnline.Client
public abstract Texture OutputPixel { get; }
public abstract RawImage DrawCanvas { get; }
+ ///
+ /// 渲染朝向,用于截图
+ ///
+ public abstract Vector3 DrawLocalScale { get; }
+
/// 指示该游戏实例是否处于联机模式
public bool IsNetPlay
diff --git a/AxibugEmuOnline.Client/Assets/Script/AppMain/Emulator/EssgeeEmulator/UEssgee.cs b/AxibugEmuOnline.Client/Assets/Script/AppMain/Emulator/EssgeeEmulator/UEssgee.cs
index f21a7735..31a63544 100644
--- a/AxibugEmuOnline.Client/Assets/Script/AppMain/Emulator/EssgeeEmulator/UEssgee.cs
+++ b/AxibugEmuOnline.Client/Assets/Script/AppMain/Emulator/EssgeeEmulator/UEssgee.cs
@@ -30,6 +30,7 @@ public class UEssgee : EmuCore
public override Texture OutputPixel => graphicsHandler.rawBufferWarper;
public override RawImage DrawCanvas => graphicsHandler.DrawCanvas;
+ public override Vector3 DrawLocalScale => new Vector3(1, -1, 1);
public static bool bLogicUpdatePause { get; private set; }
#region
diff --git a/AxibugEmuOnline.Client/Assets/Script/AppMain/Emulator/MameEmulator/UMAME.cs b/AxibugEmuOnline.Client/Assets/Script/AppMain/Emulator/MameEmulator/UMAME.cs
index 7532ee89..434a5367 100644
--- a/AxibugEmuOnline.Client/Assets/Script/AppMain/Emulator/MameEmulator/UMAME.cs
+++ b/AxibugEmuOnline.Client/Assets/Script/AppMain/Emulator/MameEmulator/UMAME.cs
@@ -230,11 +230,7 @@ public class UMAME : EmuCore
br.Close();
fs.Close();
}
-
-
public override Texture OutputPixel => mUniVideoPlayer.rawBufferWarper;
-
public override RawImage DrawCanvas => mUniVideoPlayer.DrawCanvas;
-
-
+ public override Vector3 DrawLocalScale => new Vector3(1, -1, 1);
}
\ No newline at end of file
diff --git a/AxibugEmuOnline.Client/Assets/Script/AppMain/Emulator/NesEmulator/NesEmulator.cs b/AxibugEmuOnline.Client/Assets/Script/AppMain/Emulator/NesEmulator/NesEmulator.cs
index 38b31b2b..3c81dfaa 100644
--- a/AxibugEmuOnline.Client/Assets/Script/AppMain/Emulator/NesEmulator/NesEmulator.cs
+++ b/AxibugEmuOnline.Client/Assets/Script/AppMain/Emulator/NesEmulator/NesEmulator.cs
@@ -167,6 +167,7 @@ namespace AxibugEmuOnline.Client
public override Texture OutputPixel => VideoProvider.OutputPixel;
public override RawImage DrawCanvas => VideoProvider.Drawer;
+ public override Vector3 DrawLocalScale => DrawCanvas.transform.localScale;
public override void GetAudioParams(out int frequency, out int channels)
{
AudioProvider.GetAudioParams(out frequency, out channels);
diff --git a/AxibugEmuOnline.Client/Assets/Script/AppMain/Emulator/StoicGooseEmulator/UStoicGoose.cs b/AxibugEmuOnline.Client/Assets/Script/AppMain/Emulator/StoicGooseEmulator/UStoicGoose.cs
index 9247d6e9..a718e644 100644
--- a/AxibugEmuOnline.Client/Assets/Script/AppMain/Emulator/StoicGooseEmulator/UStoicGoose.cs
+++ b/AxibugEmuOnline.Client/Assets/Script/AppMain/Emulator/StoicGooseEmulator/UStoicGoose.cs
@@ -57,6 +57,9 @@ public class UStoicGoose : EmuCore
public override Texture OutputPixel => graphicsHandler.rawBufferWarper;
public override RawImage DrawCanvas => graphicsHandler.DrawCanvas;
+
+ public override Vector3 DrawLocalScale => DrawCanvas.transform.localScale;
+
public override object GetState()
{
throw new NotImplementedException();
diff --git a/AxibugEmuOnline.Client/Assets/Script/AppMain/UI/InGameUI/InGameUI_SaveStateMenu.cs b/AxibugEmuOnline.Client/Assets/Script/AppMain/UI/InGameUI/InGameUI_SaveStateMenu.cs
index b98ed527..74e97dbd 100644
--- a/AxibugEmuOnline.Client/Assets/Script/AppMain/UI/InGameUI/InGameUI_SaveStateMenu.cs
+++ b/AxibugEmuOnline.Client/Assets/Script/AppMain/UI/InGameUI/InGameUI_SaveStateMenu.cs
@@ -99,7 +99,7 @@ namespace AxibugEmuOnline.Client
var stateData = m_ingameUI.Core.GetStateBytes();
var tex = m_ingameUI.Core.OutputPixel;
- var screenData = tex.ToJPG(m_ingameUI.Core.DrawCanvas.transform.localScale);
+ var screenData = tex.ToJPG(m_ingameUI.Core.DrawLocalScale);
m_savFile.Save(m_savFile.Sequecen + 1, stateData, screenData);
}
diff --git a/AxibugEmuOnline.Client/Assets/Script/AppMain/UI/InGameUI/InGameUI_UploadGameCoverImg.cs b/AxibugEmuOnline.Client/Assets/Script/AppMain/UI/InGameUI/InGameUI_UploadGameCoverImg.cs
index d7ca550b..360eeb19 100644
--- a/AxibugEmuOnline.Client/Assets/Script/AppMain/UI/InGameUI/InGameUI_UploadGameCoverImg.cs
+++ b/AxibugEmuOnline.Client/Assets/Script/AppMain/UI/InGameUI/InGameUI_UploadGameCoverImg.cs
@@ -15,7 +15,7 @@ namespace AxibugEmuOnline.Client
public override void OnExcute(OptionUI optionUI, ref bool cancelHide)
{
var tex = m_gameUI.Core.OutputPixel;
- var screenData = tex.ToJPG(m_gameUI.Core.DrawCanvas.transform.localScale);
+ var screenData = tex.ToJPG(m_gameUI.Core.DrawLocalScale);
App.share.SendUpLoadGameScreenCover(m_gameUI.RomFile.ID, screenData);
}
}