mirror of
https://github.com/babalae/better-genshin-impact.git
synced 2026-05-27 10:15:50 +08:00
* BitBlt 优化 * BitBlt恢复Top-down * 渲染时翻转图像 * CaptureSession引用计数 * 恢复成无拷贝Mat * 合法性检查 * 优化截图预览窗口 * 保存截图文件必要时需要克隆一份Mat * BitBlt内存池 * 返回拷贝就不用对Session做引用计数了 * 移除CaptureImageRes * 优化DirectX * 更好地处理padding * BitBlt去掉padding 1920*1080的游戏窗口是4字节对齐的,因此不会有性能影响。这里主要用于测试。 * 修复修改窗口大小 * 合并CreateStagingTexture * 修复设备丢失崩溃 * WGC截图支持HDR * fix typo * CodeQA * 去掉1px窗口边框 * DirectX截图去掉A通道 * HDR转换使用GPU加速 --------- Co-authored-by: 辉鸭蛋 <huiyadanli@gmail.com>
40 lines
1.1 KiB
C#
40 lines
1.1 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel;
|
|
using System.Linq;
|
|
using BetterGenshinImpact.Model;
|
|
|
|
namespace BetterGenshinImpact.Helpers.Extensions;
|
|
|
|
public static class EnumExtensions
|
|
{
|
|
public static string GetDescription(this Enum value)
|
|
{
|
|
return value.GetType()
|
|
.GetField(value.ToString())
|
|
?.GetCustomAttributes(typeof(DescriptionAttribute), false)
|
|
.Cast<DescriptionAttribute>()
|
|
.FirstOrDefault()
|
|
?.Description ?? value.ToString();
|
|
}
|
|
|
|
public static int GetOrder(this Enum value)
|
|
{
|
|
return value.GetType()
|
|
.GetField(value.ToString())
|
|
?.GetCustomAttributes(typeof(DefaultValueAttribute), false)
|
|
.Cast<DefaultValueAttribute>()
|
|
.FirstOrDefault()
|
|
?.Value as int? ?? 0;
|
|
}
|
|
|
|
public static IEnumerable<EnumItem<T>> ToEnumItems<T>() where T : Enum
|
|
{
|
|
return Enum.GetValues(typeof(T))
|
|
.Cast<T>()
|
|
.Select(EnumItem<T>.Create)
|
|
.OrderBy(x => x.Order)
|
|
.ThenBy(x => x.Value);
|
|
}
|
|
}
|