Compare commits

..

7 Commits

Author SHA1 Message Date
ww-rm
16b58866fc 更新至v0.9.5 2025-03-05 00:56:35 +08:00
ww-rm
b4821b9169 删除body 2025-03-05 00:56:15 +08:00
ww-rm
3686df0f40 update readme 2025-03-05 00:56:03 +08:00
ww-rm
d6574e061e 更新至v0.9.4 2025-03-05 00:41:33 +08:00
ww-rm
b59c625e2d 增加自动发布 2025-03-05 00:35:18 +08:00
ww-rm
ce1efa105a 增加错误弹窗 2025-03-04 23:09:05 +08:00
ww-rm
a0d4e25446 修改文本显示 2025-03-04 21:05:53 +08:00
6 changed files with 153 additions and 10 deletions

73
.github/workflows/dotnet-desktop.yml vendored Normal file
View File

@@ -0,0 +1,73 @@
name: Build and Release WinForms
on:
push:
tags:
- 'v*.*.*'
jobs:
build-release:
runs-on: windows-latest
env:
PROJECT_NAME: SpineViewer
VERSION: ${{ github.ref_name }}
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Setup .NET SDK
uses: actions/setup-dotnet@v3
with:
dotnet-version: '8.0.x'
- name: Publish FrameworkDependent version
run: |
dotnet publish ${{ env.PROJECT_NAME }}/${{ env.PROJECT_NAME }}.csproj -c Release -r win-x64 --sc false -p:PublishSingleFile=true -o publish/${{ env.PROJECT_NAME }}-${{ env.VERSION }}
- name: Publish SelfContained version
run: |
dotnet publish ${{ env.PROJECT_NAME }}/${{ env.PROJECT_NAME }}.csproj -c Release -r win-x64 --sc true -p:PublishSingleFile=true -o publish/${{ env.PROJECT_NAME }}-${{ env.VERSION }}-SelfContained
- name: Create release directory
run: mkdir release
- name: Compress FrameworkDependent version
shell: pwsh
run: |
Compress-Archive -Path "publish/${env:PROJECT_NAME}-${env:VERSION}" -DestinationPath "release/${env:PROJECT_NAME}-${env:VERSION}.zip" -Force
- name: Compress SelfContained version
shell: pwsh
run: |
Compress-Archive -Path "publish/${env:PROJECT_NAME}-${env:VERSION}-SelfContained" -DestinationPath "release/${env:PROJECT_NAME}-${env:VERSION}-SelfContained.zip" -Force
- name: Create GitHub Release
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ github.ref_name }}
release_name: Release ${{ github.ref_name }}
draft: false
prerelease: false
- name: Upload FrameworkDependent zip
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: release/${{ env.PROJECT_NAME }}-${{ env.VERSION }}.zip
asset_name: ${{ env.PROJECT_NAME }}-${{ env.VERSION }}.zip
asset_content_type: application/zip
- name: Upload SelfContained zip
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: release/${{ env.PROJECT_NAME }}-${{ env.VERSION }}-SelfContained.zip
asset_name: ${{ env.PROJECT_NAME }}-${{ env.VERSION }}-SelfContained.zip
asset_content_type: application/zip

67
README.en.md Normal file
View File

@@ -0,0 +1,67 @@
# SpineViewer
[中文](README.md) | [English](README.en.md)
A simple and user-friendly Spine file viewer and exporter.
![previewer](img/previewer.jpg)
---
## Installation
Download the zip package from the [Releases](https://github.com/ww-rm/SpineViewer/releases) page.
The application requires the [.NET Desktop Runtime 8.0.x](https://dotnet.microsoft.com/en-us/download/dotnet/8.0).
Alternatively, you can download the zip package with the `SelfContained` suffix, which can run independently.
## Features
- Supports viewing Spine files of different versions:
- [x] `v3.6.x`
- [x] `v3.7.x`
- [x] `v3.8.x`
- [x] `v4.0.x`
- [x] `v4.1.x`
- [x] `v4.2.x`
- [ ] `v4.3.x`
- Supports animation preview for multi-skeleton files
- Allows independent parameter settings for each skeleton
- Supports exporting animation as PNG frame sequences
- Provides export settings such as zoom and rotation
- More features coming soon...
## Usage
### Importing Skeletons
Use the **File** menu to select **Open** or **Batch Open** to import skeleton files.
### Adjusting Skeletons
Select one or more items in the **Model List** to display adjustable parameters in the **Model Parameters** panel.
Right-clicking in the **Model List** allows you to add, delete, or adjust list items. You can also drag items with the left mouse button to rearrange them.
### Adjusting the View
Mouse operations supported in the **Preview** window:
- Left-click to drag the skeleton
- Right-click to drag the view
- Scroll wheel to zoom in/out
Additionally, you can adjust export and preview parameters through the **View Parameters** panel.
In the **Functions** menu, you can reset and synchronize the animation time for all skeletons.
### Exporting Animations
Select **Export** from the **File** menu to export all loaded skeleton animations as PNG frame sequences, based on the current preview settings.
You can view the full duration of each animation in the **Model Parameters** of each skeleton.
---
*If you find this project helpful, please give it a :star: and share it with others! :)*

View File

@@ -12,7 +12,9 @@
前往 [Release](https://github.com/ww-rm/SpineViewer/releases) 界面下载压缩包.
`SelfContained` 可独立运行, `FrameworkDependent` 需要安装依赖框架 [.NET 桌面运行时 8.0.x](https://dotnet.microsoft.com/zh-cn/download/dotnet/8.0).
软件需要安装依赖框架 [.NET 桌面运行时 8.0.x](https://dotnet.microsoft.com/zh-cn/download/dotnet/8.0).
也可以下载带有 `SelfContained` 后缀的压缩包, 可以独立运行.
## 功能

View File

@@ -82,9 +82,10 @@ namespace SpineViewer.Spine
}
catch (Exception ex)
{
FragmentShader = null;
Program.Logger.Error(ex.ToString());
Program.Logger.Error("Failed to load fragment shader");
FragmentShader = null;
MessageBox.Show("Fragment shader 加载失败预乘Alpha通道属性失效", "错误信息", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}

View File

@@ -40,12 +40,12 @@ namespace SpineViewer.Spine
/// </summary>
public enum Version
{
[Description("v3.6.53")] V36 = 0x0306,
[Description("v3.7.94")] V37 = 0x0307,
[Description("v3.8.99")] V38 = 0x0308,
[Description("v4.0.64")] V40 = 0x0400,
[Description("v4.1.54")] V41 = 0x0401,
[Description("v4.2.74")] V42 = 0x0402,
[Description("v4.3.xx")] V43 = 0x0403,
[Description("v3.6.x")] V36 = 0x0306,
[Description("v3.7.x")] V37 = 0x0307,
[Description("v3.8.x")] V38 = 0x0308,
[Description("v4.0.x")] V40 = 0x0400,
[Description("v4.1.x")] V41 = 0x0401,
[Description("v4.2.x")] V42 = 0x0402,
[Description("v4.3.x")] V43 = 0x0403,
}
}

View File

@@ -8,7 +8,7 @@
<RuntimeIdentifier>win-x64</RuntimeIdentifier>
<BaseOutputPath>$(SolutionDir)out</BaseOutputPath>
<IncludeSourceRevisionInInformationalVersion>false</IncludeSourceRevisionInInformationalVersion>
<Version>0.9.3</Version>
<Version>0.9.5</Version>
<OutputType>WinExe</OutputType>
<UseWindowsForms>true</UseWindowsForms>
<ApplicationIcon>appicon.ico</ApplicationIcon>