mirror of
https://github.com/4sval/FModel.git
synced 2026-06-21 07:20:05 -05:00
skbitmap migration
This commit is contained in:
parent
10de896db9
commit
082917d3cb
|
|
@ -1 +1 @@
|
|||
Subproject commit 906641f95baaa7e269d96851c6b17e5fb8059abe
|
||||
Subproject commit 82c1f94f607446d02f8b6f559e6fd0124642259c
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
using CUE4Parse.UE4.Assets.Exports;
|
||||
using CUE4Parse.UE4.Assets.Exports;
|
||||
using CUE4Parse.UE4.Objects.Core.i18N;
|
||||
using CUE4Parse.UE4.Objects.UObject;
|
||||
using FModel.Creator.Bases.FN;
|
||||
|
|
@ -26,9 +26,9 @@ namespace FModel.Creator.Bases.BB
|
|||
Description = description.Text;
|
||||
}
|
||||
|
||||
public override SKImage Draw()
|
||||
public override SKBitmap Draw()
|
||||
{
|
||||
using var ret = new SKBitmap(Width, Height, SKColorType.Rgba8888, SKAlphaType.Premul);
|
||||
var ret = new SKBitmap(Width, Height, SKColorType.Rgba8888, SKAlphaType.Premul);
|
||||
using var c = new SKCanvas(ret);
|
||||
|
||||
DrawBackground(c);
|
||||
|
|
@ -37,7 +37,7 @@ namespace FModel.Creator.Bases.BB
|
|||
DrawDisplayName(c);
|
||||
DrawDescription(c);
|
||||
|
||||
return SKImage.FromBitmap(ret);
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
using System.Collections.Generic;
|
||||
using System.Collections.Generic;
|
||||
using CUE4Parse.UE4.Assets.Exports;
|
||||
using CUE4Parse.UE4.Assets.Objects;
|
||||
using CUE4Parse.UE4.Objects.Core.i18N;
|
||||
|
|
@ -79,16 +79,16 @@ namespace FModel.Creator.Bases.FN
|
|||
Height += 256 * _quests.Count;
|
||||
}
|
||||
|
||||
public override SKImage Draw()
|
||||
public override SKBitmap Draw()
|
||||
{
|
||||
using var ret = new SKBitmap(Width, Height, SKColorType.Rgba8888, SKAlphaType.Opaque);
|
||||
var ret = new SKBitmap(Width, Height, SKColorType.Rgba8888, SKAlphaType.Opaque);
|
||||
using var c = new SKCanvas(ret);
|
||||
|
||||
DrawHeader(c);
|
||||
DrawDisplayName(c);
|
||||
DrawQuests(c);
|
||||
|
||||
return SKImage.FromBitmap(ret);
|
||||
return ret;
|
||||
}
|
||||
|
||||
private readonly SKPaint _headerPaint = new()
|
||||
|
|
@ -138,4 +138,4 @@ namespace FModel.Creator.Bases.FN
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
using CUE4Parse.UE4.Assets.Exports;
|
||||
using CUE4Parse.UE4.Assets.Exports;
|
||||
using CUE4Parse.UE4.Objects.GameplayTags;
|
||||
using CUE4Parse.UE4.Objects.UObject;
|
||||
using CUE4Parse.UE4.Versions;
|
||||
|
|
@ -46,9 +46,9 @@ namespace FModel.Creator.Bases.FN
|
|||
Description = Description.ToUpper();
|
||||
}
|
||||
|
||||
public override SKImage Draw()
|
||||
public override SKBitmap Draw()
|
||||
{
|
||||
using var ret = new SKBitmap(Width, Height, SKColorType.Rgba8888, SKAlphaType.Premul);
|
||||
var ret = new SKBitmap(Width, Height, SKColorType.Rgba8888, SKAlphaType.Premul);
|
||||
using var c = new SKCanvas(ret);
|
||||
|
||||
if (_design == null)
|
||||
|
|
@ -69,7 +69,7 @@ namespace FModel.Creator.Bases.FN
|
|||
DrawUserFacingFlags(c, _design.GameplayTags.DrawCustomOnly);
|
||||
}
|
||||
|
||||
return SKImage.FromBitmap(ret);
|
||||
return ret;
|
||||
}
|
||||
|
||||
private void CheckGameplayTags(FGameplayTagContainer gameplayTags)
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
using System;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Windows;
|
||||
|
|
@ -112,14 +112,14 @@ namespace FModel.Creator.Bases.FN
|
|||
}
|
||||
}
|
||||
|
||||
public override SKImage Draw()
|
||||
public override SKBitmap Draw()
|
||||
{
|
||||
using var ret = new SKBitmap(Width, Height, SKColorType.Rgba8888, SKAlphaType.Premul);
|
||||
var ret = new SKBitmap(Width, Height, SKColorType.Rgba8888, SKAlphaType.Premul);
|
||||
using var c = new SKCanvas(ret);
|
||||
|
||||
Draw(c);
|
||||
|
||||
return SKImage.FromBitmap(ret);
|
||||
return ret;
|
||||
}
|
||||
|
||||
private void GetSeries(FPackageIndex s)
|
||||
|
|
@ -133,7 +133,7 @@ namespace FModel.Creator.Bases.FN
|
|||
{
|
||||
if (uObject is UTexture2D texture2D)
|
||||
{
|
||||
SeriesBackground = SKBitmap.Decode(texture2D.Decode()?.Encode());
|
||||
SeriesBackground = texture2D.Decode();
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -125,16 +125,16 @@ namespace FModel.Creator.Bases.FN
|
|||
Height += 50 * _statistics.Count;
|
||||
}
|
||||
|
||||
public override SKImage Draw()
|
||||
public override SKBitmap Draw()
|
||||
{
|
||||
using var ret = new SKBitmap(Width, Height, SKColorType.Rgba8888, SKAlphaType.Opaque);
|
||||
var ret = new SKBitmap(Width, Height, SKColorType.Rgba8888, SKAlphaType.Opaque);
|
||||
using var c = new SKCanvas(ret);
|
||||
|
||||
DrawHeader(c);
|
||||
DrawDisplayName(c);
|
||||
DrawStatistics(c);
|
||||
|
||||
return SKImage.FromBitmap(ret);
|
||||
return ret;
|
||||
}
|
||||
|
||||
private bool TryGetCurveTableStat(FStructFallback property, out float statValue)
|
||||
|
|
|
|||
|
|
@ -38,9 +38,9 @@ namespace FModel.Creator.Bases.FN
|
|||
if (Object.TryGetValue(out FText unlockDescription, "UnlockDescription")) _unlockedDescription = unlockDescription.Text;
|
||||
}
|
||||
|
||||
public override SKImage Draw()
|
||||
public override SKBitmap Draw()
|
||||
{
|
||||
using var ret = new SKBitmap(Width, Height, SKColorType.Rgba8888, SKAlphaType.Premul);
|
||||
var ret = new SKBitmap(Width, Height, SKColorType.Rgba8888, SKAlphaType.Premul);
|
||||
using var c = new SKCanvas(ret);
|
||||
|
||||
switch (Style)
|
||||
|
|
@ -61,7 +61,7 @@ namespace FModel.Creator.Bases.FN
|
|||
break;
|
||||
}
|
||||
|
||||
return SKImage.FromBitmap(ret);
|
||||
return ret;
|
||||
}
|
||||
|
||||
private void DrawInformation(SKCanvas c)
|
||||
|
|
@ -97,4 +97,4 @@ namespace FModel.Creator.Bases.FN
|
|||
c.DrawBitmap(_icon.Preview ?? _icon.DefaultPreview, new SKRect(left - h / 2, topBase, left + h / 2, Width - _icon.Margin), ImagePaint);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -65,9 +65,9 @@ namespace FModel.Creator.Bases.FN
|
|||
}
|
||||
}
|
||||
|
||||
public override SKImage Draw()
|
||||
public override SKBitmap Draw()
|
||||
{
|
||||
using var ret = new SKBitmap(Width, Height, SKColorType.Rgba8888, SKAlphaType.Premul);
|
||||
var ret = new SKBitmap(Width, Height, SKColorType.Rgba8888, SKAlphaType.Premul);
|
||||
using var c = new SKCanvas(ret);
|
||||
|
||||
switch (Style)
|
||||
|
|
@ -81,7 +81,7 @@ namespace FModel.Creator.Bases.FN
|
|||
break;
|
||||
}
|
||||
|
||||
return SKImage.FromBitmap(ret);
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
using CUE4Parse.UE4.Assets.Exports;
|
||||
using CUE4Parse.UE4.Assets.Exports;
|
||||
using CUE4Parse.UE4.Assets.Objects;
|
||||
using CUE4Parse.UE4.Objects.Core.i18N;
|
||||
using CUE4Parse.UE4.Objects.Core.Math;
|
||||
|
|
@ -56,7 +56,7 @@ namespace FModel.Creator.Bases.FN
|
|||
Description = Utils.RemoveHtmlTags(Description);
|
||||
}
|
||||
|
||||
public override SKImage Draw()
|
||||
public override SKBitmap Draw()
|
||||
{
|
||||
using var ret = new SKBitmap(Width, Height, SKColorType.Rgba8888, SKAlphaType.Premul);
|
||||
using var c = new SKCanvas(ret);
|
||||
|
|
@ -79,7 +79,7 @@ namespace FModel.Creator.Bases.FN
|
|||
break;
|
||||
}
|
||||
|
||||
return SKImage.FromBitmap(ret);
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ namespace FModel.Creator.Bases.FN
|
|||
{
|
||||
public class BaseOfferDisplayData : UCreator
|
||||
{
|
||||
private List<SKImage> _offerImages;
|
||||
private List<SKBitmap> _offerImages;
|
||||
|
||||
public BaseOfferDisplayData(UObject uObject, EIconStyle style) : base(uObject, style)
|
||||
{
|
||||
|
|
@ -21,7 +21,7 @@ namespace FModel.Creator.Bases.FN
|
|||
if (!Object.TryGetValue(out UMaterialInterface[] presentations, "Presentations"))
|
||||
return;
|
||||
|
||||
_offerImages = new List<SKImage>();
|
||||
_offerImages = new List<SKBitmap>();
|
||||
foreach (var p in presentations)
|
||||
{
|
||||
var offerImage = new BaseMaterialInstance(p, Style);
|
||||
|
|
@ -30,7 +30,7 @@ namespace FModel.Creator.Bases.FN
|
|||
}
|
||||
}
|
||||
|
||||
public override SKImage Draw()
|
||||
public override SKBitmap Draw()
|
||||
{
|
||||
int imageOrder;
|
||||
|
||||
|
|
@ -50,8 +50,8 @@ namespace FModel.Creator.Bases.FN
|
|||
|
||||
Height *= 512;
|
||||
|
||||
using var bitmap = new SKBitmap(Width, Height);
|
||||
using var canvas = new SKCanvas(bitmap);
|
||||
var ret = new SKBitmap(Width, Height);
|
||||
using var canvas = new SKCanvas(ret);
|
||||
var point = new SKPoint(0, 0);
|
||||
|
||||
for (int i = 0, placement = 0; i < _offerImages.Count; i++)
|
||||
|
|
@ -63,11 +63,11 @@ namespace FModel.Creator.Bases.FN
|
|||
}
|
||||
point.X = 512 * placement;
|
||||
|
||||
canvas.DrawImage(_offerImages[i], point);
|
||||
canvas.DrawBitmap(_offerImages[i], point);
|
||||
placement++;
|
||||
}
|
||||
|
||||
return SKImage.FromBitmap(bitmap);
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
using CUE4Parse.UE4.Assets.Exports;
|
||||
using CUE4Parse.UE4.Assets.Exports;
|
||||
using CUE4Parse.UE4.Assets.Exports.Texture;
|
||||
using CUE4Parse.UE4.Objects.Core.i18N;
|
||||
using CUE4Parse.UE4.Objects.UObject;
|
||||
|
|
@ -43,9 +43,9 @@ namespace FModel.Creator.Bases.FN
|
|||
Height = Preview.Height;
|
||||
}
|
||||
|
||||
public override SKImage Draw()
|
||||
public override SKBitmap Draw()
|
||||
{
|
||||
using var ret = new SKBitmap(Width, Height, SKColorType.Rgba8888, SKAlphaType.Premul);
|
||||
var ret = new SKBitmap(Width, Height, SKColorType.Rgba8888, SKAlphaType.Premul);
|
||||
using var c = new SKCanvas(ret);
|
||||
|
||||
switch (Style)
|
||||
|
|
@ -66,7 +66,7 @@ namespace FModel.Creator.Bases.FN
|
|||
break;
|
||||
}
|
||||
|
||||
return SKImage.FromBitmap(ret);
|
||||
return ret;
|
||||
}
|
||||
|
||||
private void DrawMissionIcon(SKCanvas c)
|
||||
|
|
@ -75,4 +75,4 @@ namespace FModel.Creator.Bases.FN
|
|||
c.DrawBitmap(_missionIcon, new SKPoint(5, 5), ImagePaint);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
using System;
|
||||
using System;
|
||||
using System.Linq;
|
||||
using CUE4Parse.UE4.Assets.Exports;
|
||||
using CUE4Parse.UE4.Assets.Exports.Engine;
|
||||
|
|
@ -161,14 +161,14 @@ namespace FModel.Creator.Bases.FN
|
|||
DrawTexts(c, y);
|
||||
}
|
||||
|
||||
public override SKImage Draw()
|
||||
public override SKBitmap Draw()
|
||||
{
|
||||
using var ret = new SKBitmap(Width, Height, SKColorType.Rgba8888, SKAlphaType.Opaque);
|
||||
var ret = new SKBitmap(Width, Height, SKColorType.Rgba8888, SKAlphaType.Opaque);
|
||||
using var c = new SKCanvas(ret);
|
||||
|
||||
DrawQuest(c, 0);
|
||||
|
||||
return SKImage.FromBitmap(ret);
|
||||
return ret;
|
||||
}
|
||||
|
||||
private string ReformatString(string s, string completionCount, bool isAll)
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
using System;
|
||||
using System;
|
||||
using System.Linq;
|
||||
using CUE4Parse.UE4.Assets.Exports;
|
||||
using CUE4Parse.UE4.Assets.Objects;
|
||||
|
|
@ -96,16 +96,16 @@ namespace FModel.Creator.Bases.FN
|
|||
Height += 100 * _bookXpSchedule.Sum(x => x.RewardEntryList.Length) / _bookXpSchedule.Length;
|
||||
}
|
||||
|
||||
public override SKImage Draw()
|
||||
public override SKBitmap Draw()
|
||||
{
|
||||
using var ret = new SKBitmap(Width, Height, SKColorType.Rgba8888, SKAlphaType.Opaque);
|
||||
var ret = new SKBitmap(Width, Height, SKColorType.Rgba8888, SKAlphaType.Opaque);
|
||||
using var c = new SKCanvas(ret);
|
||||
|
||||
DrawHeader(c);
|
||||
_firstWinReward?.DrawSeasonWin(c, _headerHeight);
|
||||
DrawBookSchedule(c);
|
||||
|
||||
return SKImage.FromBitmap(ret);
|
||||
return ret;
|
||||
}
|
||||
|
||||
private const int _DEFAULT_AREA_SIZE = 80;
|
||||
|
|
@ -162,4 +162,4 @@ namespace FModel.Creator.Bases.FN
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
using CUE4Parse.UE4.Assets.Exports;
|
||||
using CUE4Parse.UE4.Assets.Exports;
|
||||
using SkiaSharp;
|
||||
|
||||
namespace FModel.Creator.Bases.FN
|
||||
|
|
@ -14,14 +14,14 @@ namespace FModel.Creator.Bases.FN
|
|||
GetSeries(Object);
|
||||
}
|
||||
|
||||
public override SKImage Draw()
|
||||
public override SKBitmap Draw()
|
||||
{
|
||||
using var ret = new SKBitmap(Width, Height, SKColorType.Rgba8888, SKAlphaType.Premul);
|
||||
var ret = new SKBitmap(Width, Height, SKColorType.Rgba8888, SKAlphaType.Premul);
|
||||
using var c = new SKCanvas(ret);
|
||||
|
||||
DrawBackground(c);
|
||||
|
||||
return SKImage.FromBitmap(ret);
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -50,9 +50,9 @@ namespace FModel.Creator.Bases.FN
|
|||
_additionalDescription = addDesc.Text;
|
||||
}
|
||||
|
||||
public override SKImage Draw()
|
||||
public override SKBitmap Draw()
|
||||
{
|
||||
using var ret = new SKBitmap(Width, Height, SKColorType.Rgba8888, SKAlphaType.Opaque);
|
||||
var ret = new SKBitmap(Width, Height, SKColorType.Rgba8888, SKAlphaType.Opaque);
|
||||
using var c = new SKCanvas(ret);
|
||||
|
||||
DrawBackground(c);
|
||||
|
|
@ -64,7 +64,7 @@ namespace FModel.Creator.Bases.FN
|
|||
DrawGeneralDescription(c);
|
||||
DrawAdditionalDescription(c);
|
||||
|
||||
return SKImage.FromBitmap(ret);
|
||||
return ret;
|
||||
}
|
||||
|
||||
private readonly SKPaint _panelPaint = new() { IsAntialias = true, FilterQuality = SKFilterQuality.High, Color = SKColor.Parse("#0045C7") };
|
||||
|
|
|
|||
|
|
@ -111,15 +111,15 @@ namespace FModel.Creator.Bases.FN
|
|||
Height += 35 * _optionValues.Count;
|
||||
}
|
||||
|
||||
public override SKImage Draw()
|
||||
public override SKBitmap Draw()
|
||||
{
|
||||
using var ret = new SKBitmap(Width, Height, SKColorType.Rgba8888, SKAlphaType.Opaque);
|
||||
var ret = new SKBitmap(Width, Height, SKColorType.Rgba8888, SKAlphaType.Opaque);
|
||||
using var c = new SKCanvas(ret);
|
||||
|
||||
DrawBackground(c);
|
||||
DrawInformation(c);
|
||||
|
||||
return SKImage.FromBitmap(ret);
|
||||
return ret;
|
||||
}
|
||||
|
||||
private new void DrawBackground(SKCanvas c)
|
||||
|
|
@ -190,4 +190,4 @@ namespace FModel.Creator.Bases.FN
|
|||
top += _HEIGHT + _SPACE;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
using CUE4Parse.UE4.Assets.Exports;
|
||||
using CUE4Parse.UE4.Assets.Exports;
|
||||
using CUE4Parse.UE4.Objects.Core.i18N;
|
||||
using CUE4Parse.UE4.Objects.Core.Math;
|
||||
using CUE4Parse.UE4.Objects.UObject;
|
||||
|
|
@ -32,9 +32,9 @@ namespace FModel.Creator.Bases.SB
|
|||
DisplayName = displayName.Text;
|
||||
}
|
||||
|
||||
public override SKImage Draw()
|
||||
public override SKBitmap Draw()
|
||||
{
|
||||
using var ret = new SKBitmap(Width, Height, SKColorType.Rgba8888, SKAlphaType.Premul);
|
||||
var ret = new SKBitmap(Width, Height, SKColorType.Rgba8888, SKAlphaType.Premul);
|
||||
using var c = new SKCanvas(ret);
|
||||
|
||||
DrawBackground(c);
|
||||
|
|
@ -42,7 +42,7 @@ namespace FModel.Creator.Bases.SB
|
|||
DrawTextBackground(c);
|
||||
DrawDisplayName(c);
|
||||
|
||||
return SKImage.FromBitmap(ret);
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -28,9 +28,9 @@ namespace FModel.Creator.Bases.SB
|
|||
_icon = Utils.GetBitmap(icon).Resize(25);
|
||||
}
|
||||
|
||||
public override SKImage Draw()
|
||||
public override SKBitmap Draw()
|
||||
{
|
||||
using var ret = new SKBitmap(Width, Height, SKColorType.Rgba8888, SKAlphaType.Premul);
|
||||
var ret = new SKBitmap(Width, Height, SKColorType.Rgba8888, SKAlphaType.Premul);
|
||||
using var c = new SKCanvas(ret);
|
||||
|
||||
DrawPreview(c);
|
||||
|
|
@ -38,7 +38,7 @@ namespace FModel.Creator.Bases.SB
|
|||
DrawDisplayName(c);
|
||||
DrawIcon(c);
|
||||
|
||||
return SKImage.FromBitmap(ret);
|
||||
return ret;
|
||||
}
|
||||
|
||||
private void DrawIcon(SKCanvas c)
|
||||
|
|
@ -47,4 +47,4 @@ namespace FModel.Creator.Bases.SB
|
|||
c.DrawBitmap(_icon, new SKPoint(5, 5), ImagePaint);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -36,9 +36,9 @@ namespace FModel.Creator.Bases.SB
|
|||
DisplayName = displayName.Text;
|
||||
}
|
||||
|
||||
public override SKImage Draw()
|
||||
public override SKBitmap Draw()
|
||||
{
|
||||
using var ret = new SKBitmap(Width, Height, SKColorType.Rgba8888, SKAlphaType.Premul);
|
||||
var ret = new SKBitmap(Width, Height, SKColorType.Rgba8888, SKAlphaType.Premul);
|
||||
using var c = new SKCanvas(ret);
|
||||
|
||||
DrawBackground(c);
|
||||
|
|
@ -49,7 +49,7 @@ namespace FModel.Creator.Bases.SB
|
|||
DrawToBottom(c, SKTextAlign.Left, $"PromotionXP: {_promotionXp}");
|
||||
DrawToBottom(c, SKTextAlign.Right, $"XPLostPerMatch: {_xpLostPerMatch}");
|
||||
|
||||
return SKImage.FromBitmap(ret);
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -47,9 +47,9 @@ namespace FModel.Creator.Bases.SB
|
|||
_seriesBackground2 = Utils.GetBitmap("g3/Content/UI/Textures/assets/store/ItemBGStatic_UIT.ItemBGStatic_UIT");
|
||||
}
|
||||
|
||||
public override SKImage Draw()
|
||||
public override SKBitmap Draw()
|
||||
{
|
||||
using var ret = new SKBitmap(Width, Height, SKColorType.Rgba8888, SKAlphaType.Premul);
|
||||
var ret = new SKBitmap(Width, Height, SKColorType.Rgba8888, SKAlphaType.Premul);
|
||||
using var c = new SKCanvas(ret);
|
||||
|
||||
DrawBackgrounds(c);
|
||||
|
|
@ -59,7 +59,7 @@ namespace FModel.Creator.Bases.SB
|
|||
DrawDisplayName(c);
|
||||
DrawDescription(c);
|
||||
|
||||
return SKImage.FromBitmap(ret);
|
||||
return ret;
|
||||
}
|
||||
|
||||
private void DrawBackgrounds(SKCanvas c)
|
||||
|
|
@ -95,4 +95,4 @@ namespace FModel.Creator.Bases.SB
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
using System;
|
||||
using System;
|
||||
using System.Windows;
|
||||
using CUE4Parse.UE4.Assets.Exports;
|
||||
using FModel.Creator.Bases.FN;
|
||||
|
|
@ -23,7 +23,7 @@ namespace FModel.Creator.Bases
|
|||
public int Height { get; protected set; }
|
||||
|
||||
public abstract void ParseForInfo();
|
||||
public abstract SKImage Draw();
|
||||
public abstract SKBitmap Draw();
|
||||
|
||||
protected UCreator(UObject uObject, EIconStyle style)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -105,7 +105,7 @@ namespace FModel.Creator
|
|||
public static SKBitmap GetB64Bitmap(string b64) => SKBitmap.Decode(new MemoryStream(Convert.FromBase64String(b64)) {Position = 0});
|
||||
public static SKBitmap GetBitmap(FSoftObjectPath softObjectPath) => GetBitmap(softObjectPath.AssetPathName.Text);
|
||||
public static SKBitmap GetBitmap(string fullPath) => TryLoadObject(fullPath, out UTexture2D texture) ? GetBitmap(texture) : null;
|
||||
public static SKBitmap GetBitmap(UTexture2D texture) => texture.IsVirtual ? null : SKBitmap.Decode(texture.Decode()?.Encode());
|
||||
public static SKBitmap GetBitmap(UTexture2D texture) => texture.IsVirtual ? null : texture.Decode();
|
||||
public static SKBitmap GetBitmap(byte[] data) => SKBitmap.Decode(data);
|
||||
|
||||
public static SKBitmap ResizeWithRatio(this SKBitmap me, double width, double height)
|
||||
|
|
|
|||
|
|
@ -607,7 +607,7 @@ namespace FModel.ViewModels
|
|||
if (Provider.TrySaveAsset(fullPath, out var data))
|
||||
{
|
||||
using var stream = new MemoryStream(data) {Position = 0};
|
||||
TabControl.SelectedTab.AddImage(fileName.SubstringBeforeLast("."), false, SKImage.FromBitmap(SKBitmap.Decode(stream)));
|
||||
TabControl.SelectedTab.AddImage(fileName.SubstringBeforeLast("."), false, SKBitmap.Decode(stream));
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
|
@ -617,7 +617,15 @@ namespace FModel.ViewModels
|
|||
{
|
||||
using var stream = new MemoryStream(data) { Position = 0 };
|
||||
var svg = new SkiaSharp.Extended.Svg.SKSvg(new SKSize(512, 512));
|
||||
TabControl.SelectedTab.AddImage(fileName.SubstringBeforeLast("."), false, SKImage.FromPicture(svg.Load(stream), new SKSizeI(512, 512)));
|
||||
svg.Load(stream);
|
||||
|
||||
var bitmap = new SKBitmap(512, 512);
|
||||
using (var canvas = new SKCanvas(bitmap))
|
||||
using (var paint = new SKPaint { IsAntialias = true, FilterQuality = SKFilterQuality.Medium })
|
||||
{
|
||||
canvas.DrawPicture(svg.Picture, paint);
|
||||
}
|
||||
TabControl.SelectedTab.AddImage(fileName.SubstringBeforeLast("."), false, bitmap);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -310,7 +310,8 @@ namespace FModel.ViewModels
|
|||
private BitmapImage GetImageSource(SKBitmap bitmap)
|
||||
{
|
||||
if (bitmap == null) return null;
|
||||
using var stream = SKImage.FromBitmap(bitmap).Encode().AsStream();
|
||||
using var data = bitmap.Encode(SKEncodedImageFormat.Png, 100);
|
||||
using var stream = data.AsStream();
|
||||
var image = new BitmapImage();
|
||||
image.BeginInit();
|
||||
image.CacheOption = BitmapCacheOption.OnLoad;
|
||||
|
|
|
|||
|
|
@ -419,12 +419,12 @@ namespace FModel.ViewModels
|
|||
}
|
||||
else if (parameters.Diffuse is UTexture2D diffuse)
|
||||
{
|
||||
m.AlbedoMap = new TextureModel(diffuse.Decode()?.Encode().AsStream());
|
||||
m.AlbedoMap = new TextureModel(diffuse.Decode()?.Encode(SKEncodedImageFormat.Png, 100).AsStream());
|
||||
}
|
||||
|
||||
if (parameters.Normal is UTexture2D normal)
|
||||
{
|
||||
m.NormalMap = new TextureModel(normal.Decode()?.Encode().AsStream());
|
||||
m.NormalMap = new TextureModel(normal.Decode()?.Encode(SKEncodedImageFormat.Png, 100).AsStream());
|
||||
}
|
||||
|
||||
if (parameters.Specular is UTexture2D specular)
|
||||
|
|
@ -540,7 +540,7 @@ namespace FModel.ViewModels
|
|||
if (parameters.HasTopEmissiveTexture && parameters.Emissive is UTexture2D emissive && parameters.EmissiveColor is { A: > 0 } emissiveColor)
|
||||
{
|
||||
m.EmissiveColor = new Color4(emissiveColor.R, emissiveColor.G, emissiveColor.B, emissiveColor.A);
|
||||
m.EmissiveMap = new TextureModel(emissive.Decode()?.Encode().AsStream());
|
||||
m.EmissiveMap = new TextureModel(emissive.Decode()?.Encode(SKEncodedImageFormat.Png, 100).AsStream());
|
||||
}
|
||||
}
|
||||
else
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
using System;
|
||||
using System;
|
||||
using FModel.Extensions;
|
||||
using FModel.Framework;
|
||||
using FModel.Settings;
|
||||
|
|
@ -25,7 +25,7 @@ namespace FModel.ViewModels
|
|||
public string ExportName { get; }
|
||||
public byte[] ImageBuffer { get; set; }
|
||||
|
||||
public TabImage(string name, bool rnn, SKImage img)
|
||||
public TabImage(string name, bool rnn, SKBitmap img)
|
||||
{
|
||||
ExportName = name;
|
||||
RenderNearestNeighbor = rnn;
|
||||
|
|
@ -61,11 +61,11 @@ namespace FModel.ViewModels
|
|||
}
|
||||
}
|
||||
|
||||
private void SetImage(SKImage img)
|
||||
private void SetImage(SKBitmap bitmap)
|
||||
{
|
||||
_img = img;
|
||||
_bmp = bitmap;
|
||||
|
||||
using var data = _img.Encode(NoAlpha ? SKEncodedImageFormat.Jpeg : SKEncodedImageFormat.Png, 100);
|
||||
using var data = _bmp.Encode(NoAlpha ? SKEncodedImageFormat.Jpeg : SKEncodedImageFormat.Png, 100);
|
||||
using var stream = new MemoryStream(ImageBuffer = data.ToArray(), false);
|
||||
var image = new BitmapImage();
|
||||
image.BeginInit();
|
||||
|
|
@ -76,8 +76,8 @@ namespace FModel.ViewModels
|
|||
Image = image;
|
||||
}
|
||||
|
||||
private SKImage _img;
|
||||
private void ResetImage() => SetImage(_img);
|
||||
private SKBitmap _bmp;
|
||||
private void ResetImage() => SetImage(_bmp);
|
||||
}
|
||||
|
||||
public class TabItem : ViewModel
|
||||
|
|
@ -223,7 +223,7 @@ namespace FModel.ViewModels
|
|||
}
|
||||
|
||||
public void AddImage(UTexture2D texture) => AddImage(texture.Name, texture.bRenderNearestNeighbor, texture.Decode());
|
||||
public void AddImage(string name, bool rnn, SKImage img)
|
||||
public void AddImage(string name, bool rnn, SKBitmap img)
|
||||
{
|
||||
Application.Current.Dispatcher.Invoke(() =>
|
||||
{
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user