mirror of
https://github.com/4sval/FModel.git
synced 2026-03-24 18:54:42 -05:00
binded BitmapScalingMode
This commit is contained in:
parent
93866684f0
commit
2bde70ff2d
|
|
@ -1 +1 @@
|
|||
Subproject commit 6399d6a7c7b5cb07e2ebfee1687d56880d494aef
|
||||
Subproject commit 9b8b311b7b253b4f54260e819596910c80008240
|
||||
|
|
@ -6,6 +6,7 @@ using System.Text.RegularExpressions;
|
|||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows;
|
||||
using System.Windows.Media;
|
||||
using System.Windows.Media.Imaging;
|
||||
using AdonisUI.Controls;
|
||||
using CUE4Parse.Encryption.Aes;
|
||||
|
|
@ -19,6 +20,7 @@ using CUE4Parse.UE4.Assets.Exports.Sound;
|
|||
using CUE4Parse.UE4.Assets.Exports.Texture;
|
||||
using CUE4Parse.UE4.Assets.Exports.Wwise;
|
||||
using CUE4Parse.UE4.Localization;
|
||||
using CUE4Parse.UE4.Objects.UObject;
|
||||
using CUE4Parse.UE4.Oodle.Objects;
|
||||
using CUE4Parse.UE4.Wwise;
|
||||
using CUE4Parse_Conversion.Materials;
|
||||
|
|
@ -540,7 +542,13 @@ namespace FModel.ViewModels
|
|||
{
|
||||
case UTexture2D texture:
|
||||
{
|
||||
SetImage(texture.Decode());
|
||||
var bNearest = false;
|
||||
if (texture.TryGetValue(out FName trigger, "LODGroup", "Filter") && !trigger.IsNone)
|
||||
bNearest = trigger.Text.EndsWith("TEXTUREGROUP_Pixels2D", StringComparison.OrdinalIgnoreCase) ||
|
||||
trigger.Text.EndsWith("TF_Nearest", StringComparison.OrdinalIgnoreCase);
|
||||
|
||||
TabControl.SelectedTab.ImageRender = bNearest ? BitmapScalingMode.NearestNeighbor : BitmapScalingMode.Linear;
|
||||
SetImage(texture.Decode(bNearest));
|
||||
return true;
|
||||
}
|
||||
case UAkMediaAssetData:
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
using System.Windows;
|
||||
using System.Windows.Media;
|
||||
using AdonisUI.Controls;
|
||||
using FModel.Framework;
|
||||
using FModel.Views.Resources.Controls;
|
||||
|
|
@ -21,14 +22,16 @@ namespace FModel.ViewModels.Commands
|
|||
{
|
||||
Helper.OpenWindow<AdonisWindow>(contextViewModel.Header + " (Image)", () =>
|
||||
{
|
||||
new ImagePopout
|
||||
var popout = new ImagePopout
|
||||
{
|
||||
Title = contextViewModel.Header + " (Image)",
|
||||
Width = contextViewModel.Image.Width,
|
||||
Height = contextViewModel.Image.Height,
|
||||
WindowState = contextViewModel.Image.Height > 1000 ? WindowState.Maximized : WindowState.Normal,
|
||||
ImageCtrl = {Source = contextViewModel.Image}
|
||||
}.Show();
|
||||
};
|
||||
RenderOptions.SetBitmapScalingMode(popout.ImageCtrl, contextViewModel.ImageRender);
|
||||
popout.Show();
|
||||
});
|
||||
break;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ using System.Collections.ObjectModel;
|
|||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Windows;
|
||||
using System.Windows.Media;
|
||||
using System.Windows.Media.Imaging;
|
||||
using FModel.Extensions;
|
||||
using FModel.Settings;
|
||||
|
|
@ -125,6 +126,13 @@ namespace FModel.ViewModels
|
|||
}
|
||||
}
|
||||
|
||||
private BitmapScalingMode _imageRender = BitmapScalingMode.Linear;
|
||||
public BitmapScalingMode ImageRender
|
||||
{
|
||||
get => _imageRender;
|
||||
set => SetProperty(ref _imageRender, value);
|
||||
}
|
||||
|
||||
public bool HasImage => Image != null;
|
||||
public bool ShouldScroll => !string.IsNullOrEmpty(ScrollTrigger);
|
||||
|
||||
|
|
|
|||
|
|
@ -647,7 +647,7 @@
|
|||
<controls:AvalonEditor x:Name="DynamicArea" Grid.Column="0" Grid.ColumnSpan="3" DataContext="{Binding SelectedItem, ElementName=TabControlName}" />
|
||||
<Image Grid.Column="3" Grid.ColumnSpan="2" VerticalAlignment="Center" HorizontalAlignment="Center" Stretch="Uniform"
|
||||
Visibility="{Binding SelectedItem.HasImage, ElementName=TabControlName, Converter={StaticResource BoolToVisibilityConverter}}"
|
||||
Source="{Binding SelectedItem.Image, ElementName=TabControlName}">
|
||||
Source="{Binding SelectedItem.Image, ElementName=TabControlName}" RenderOptions.BitmapScalingMode="{Binding SelectedItem.ImageRender, ElementName=TabControlName}">
|
||||
<Image.InputBindings>
|
||||
<MouseBinding MouseAction="LeftDoubleClick" Command="{Binding SelectedItem.ImageCommand, ElementName=TabControlName}" CommandParameter="Open"/>
|
||||
</Image.InputBindings>
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user