fix:issue #387
This commit is contained in:
@@ -7699,6 +7699,7 @@
|
|||||||
<Grid Name="FloatingbarUIForInkReplay">
|
<Grid Name="FloatingbarUIForInkReplay">
|
||||||
<Viewbox Name="ViewboxFloatingBar" Margin="100,5,0,0" Cursor="Arrow"
|
<Viewbox Name="ViewboxFloatingBar" Margin="100,5,0,0" Cursor="Arrow"
|
||||||
HorizontalAlignment="Left" Height="58" VerticalAlignment="Top" Width="1200"
|
HorizontalAlignment="Left" Height="58" VerticalAlignment="Top" Width="1200"
|
||||||
|
UseLayoutRounding="True" SnapsToDevicePixels="True"
|
||||||
RenderTransformOrigin="0.5,0.5">
|
RenderTransformOrigin="0.5,0.5">
|
||||||
<Viewbox.LayoutTransform>
|
<Viewbox.LayoutTransform>
|
||||||
<ScaleTransform x:Name="ViewboxFloatingBarScaleTransform" ScaleX="1" ScaleY="1" />
|
<ScaleTransform x:Name="ViewboxFloatingBarScaleTransform" ScaleX="1" ScaleY="1" />
|
||||||
@@ -7709,7 +7710,11 @@
|
|||||||
MouseDown="SymbolIconEmoji_MouseDown" MouseUp="SymbolIconEmoji_MouseUp">
|
MouseDown="SymbolIconEmoji_MouseDown" MouseUp="SymbolIconEmoji_MouseUp">
|
||||||
<ui:SimpleStackPanel Margin="0,2,0,2" Orientation="Horizontal"
|
<ui:SimpleStackPanel Margin="0,2,0,2" Orientation="Horizontal"
|
||||||
HorizontalAlignment="Center">
|
HorizontalAlignment="Center">
|
||||||
<Image Margin="0" Name="FloatingbarHeadIconImg" Source="/Resources/Icons-png/icc.png" />
|
<Image Margin="0"
|
||||||
|
Name="FloatingbarHeadIconImg"
|
||||||
|
SnapsToDevicePixels="True"
|
||||||
|
RenderOptions.BitmapScalingMode="Fant"
|
||||||
|
Source="/Resources/Icons-png/icc.png" />
|
||||||
</ui:SimpleStackPanel>
|
</ui:SimpleStackPanel>
|
||||||
</Border>
|
</Border>
|
||||||
<Border Margin="2,0,0,0" Padding="2" Visibility="Visible" Height="36"
|
<Border Margin="2,0,0,0" Padding="2" Visibility="Visible" Height="36"
|
||||||
|
|||||||
@@ -1477,74 +1477,73 @@ namespace Ink_Canvas
|
|||||||
if (index == 0)
|
if (index == 0)
|
||||||
{
|
{
|
||||||
FloatingbarHeadIconImg.Source =
|
FloatingbarHeadIconImg.Source =
|
||||||
new BitmapImage(new Uri("pack://application:,,,/Resources/Icons-png/icc.png"));
|
CreateBitmapImage(new Uri("pack://application:,,,/Resources/Icons-png/icc.png"));
|
||||||
FloatingbarHeadIconImg.Margin = new Thickness(0.5);
|
FloatingbarHeadIconImg.Margin = new Thickness(0.5);
|
||||||
}
|
}
|
||||||
else if (index == 1)
|
else if (index == 1)
|
||||||
{
|
{
|
||||||
FloatingbarHeadIconImg.Source =
|
FloatingbarHeadIconImg.Source =
|
||||||
new BitmapImage(new Uri("pack://application:,,,/Resources/Icons-png/icc-noshadow.png"));
|
CreateBitmapImage(new Uri("pack://application:,,,/Resources/Icons-png/icc-noshadow.png"));
|
||||||
FloatingbarHeadIconImg.Margin = new Thickness(0.5);
|
FloatingbarHeadIconImg.Margin = new Thickness(0.5);
|
||||||
}
|
}
|
||||||
else if (index == 2)
|
else if (index == 2)
|
||||||
{
|
{
|
||||||
FloatingbarHeadIconImg.Source =
|
FloatingbarHeadIconImg.Source =
|
||||||
new BitmapImage(new Uri("pack://application:,,,/Resources/Icons-png/icc-dark.png"));
|
CreateBitmapImage(new Uri("pack://application:,,,/Resources/Icons-png/icc-dark.png"));
|
||||||
FloatingbarHeadIconImg.Margin = new Thickness(0.5);
|
FloatingbarHeadIconImg.Margin = new Thickness(0.5);
|
||||||
}
|
}
|
||||||
else if (index == 3)
|
else if (index == 3)
|
||||||
{
|
{
|
||||||
FloatingbarHeadIconImg.Source =
|
FloatingbarHeadIconImg.Source =
|
||||||
new BitmapImage(new Uri("pack://application:,,,/Resources/Icons-png/icc-sharpdark.png"));
|
CreateBitmapImage(new Uri("pack://application:,,,/Resources/Icons-png/icc-sharpdark.png"));
|
||||||
FloatingbarHeadIconImg.Margin = new Thickness(0.5);
|
FloatingbarHeadIconImg.Margin = new Thickness(0.5);
|
||||||
}
|
}
|
||||||
else if (index == 4)
|
else if (index == 4)
|
||||||
{
|
{
|
||||||
FloatingbarHeadIconImg.Source =
|
FloatingbarHeadIconImg.Source =
|
||||||
new BitmapImage(new Uri("pack://application:,,,/Resources/Icons-png/icc-transparent-light-small.png"));
|
CreateBitmapImage(new Uri("pack://application:,,,/Resources/Icons-png/icc-transparent-light-small.png"));
|
||||||
FloatingbarHeadIconImg.Margin = new Thickness(0.5);
|
FloatingbarHeadIconImg.Margin = new Thickness(0.5);
|
||||||
}
|
}
|
||||||
else if (index == 5)
|
else if (index == 5)
|
||||||
{
|
{
|
||||||
FloatingbarHeadIconImg.Source =
|
FloatingbarHeadIconImg.Source =
|
||||||
new BitmapImage(
|
CreateBitmapImage(new Uri("pack://application:,,,/Resources/Icons-png/icc-transparent-dark-small.png"));
|
||||||
new Uri("pack://application:,,,/Resources/Icons-png/icc-transparent-dark-small.png"));
|
|
||||||
FloatingbarHeadIconImg.Margin = new Thickness(1.2);
|
FloatingbarHeadIconImg.Margin = new Thickness(1.2);
|
||||||
}
|
}
|
||||||
else if (index == 6)
|
else if (index == 6)
|
||||||
{
|
{
|
||||||
FloatingbarHeadIconImg.Source =
|
FloatingbarHeadIconImg.Source =
|
||||||
new BitmapImage(new Uri("pack://application:,,,/Resources/Icons-png/kuandoujiyanhuaji.png"));
|
CreateBitmapImage(new Uri("pack://application:,,,/Resources/Icons-png/kuandoujiyanhuaji.png"));
|
||||||
FloatingbarHeadIconImg.Margin = new Thickness(2, 2, 2, 1.5);
|
FloatingbarHeadIconImg.Margin = new Thickness(2, 2, 2, 1.5);
|
||||||
}
|
}
|
||||||
else if (index == 7)
|
else if (index == 7)
|
||||||
{
|
{
|
||||||
FloatingbarHeadIconImg.Source =
|
FloatingbarHeadIconImg.Source =
|
||||||
new BitmapImage(new Uri("pack://application:,,,/Resources/Icons-png/kuanshounvhuaji.png"));
|
CreateBitmapImage(new Uri("pack://application:,,,/Resources/Icons-png/kuanshounvhuaji.png"));
|
||||||
FloatingbarHeadIconImg.Margin = new Thickness(2, 2, 2, 1.5);
|
FloatingbarHeadIconImg.Margin = new Thickness(2, 2, 2, 1.5);
|
||||||
}
|
}
|
||||||
else if (index == 8)
|
else if (index == 8)
|
||||||
{
|
{
|
||||||
FloatingbarHeadIconImg.Source =
|
FloatingbarHeadIconImg.Source =
|
||||||
new BitmapImage(new Uri("pack://application:,,,/Resources/Icons-png/kuanciya.png"));
|
CreateBitmapImage(new Uri("pack://application:,,,/Resources/Icons-png/kuanciya.png"));
|
||||||
FloatingbarHeadIconImg.Margin = new Thickness(2, 2, 2, 1.5);
|
FloatingbarHeadIconImg.Margin = new Thickness(2, 2, 2, 1.5);
|
||||||
}
|
}
|
||||||
else if (index == 9)
|
else if (index == 9)
|
||||||
{
|
{
|
||||||
FloatingbarHeadIconImg.Source =
|
FloatingbarHeadIconImg.Source =
|
||||||
new BitmapImage(new Uri("pack://application:,,,/Resources/Icons-png/kuanneikuhuaji.png"));
|
CreateBitmapImage(new Uri("pack://application:,,,/Resources/Icons-png/kuanneikuhuaji.png"));
|
||||||
FloatingbarHeadIconImg.Margin = new Thickness(2, 2, 2, 1.5);
|
FloatingbarHeadIconImg.Margin = new Thickness(2, 2, 2, 1.5);
|
||||||
}
|
}
|
||||||
else if (index == 10)
|
else if (index == 10)
|
||||||
{
|
{
|
||||||
FloatingbarHeadIconImg.Source =
|
FloatingbarHeadIconImg.Source =
|
||||||
new BitmapImage(new Uri("pack://application:,,,/Resources/Icons-png/kuandogeyuanliangwo.png"));
|
CreateBitmapImage(new Uri("pack://application:,,,/Resources/Icons-png/kuandogeyuanliangwo.png"));
|
||||||
FloatingbarHeadIconImg.Margin = new Thickness(2, 2, 2, 1.5);
|
FloatingbarHeadIconImg.Margin = new Thickness(2, 2, 2, 1.5);
|
||||||
}
|
}
|
||||||
else if (index == 11)
|
else if (index == 11)
|
||||||
{
|
{
|
||||||
FloatingbarHeadIconImg.Source =
|
FloatingbarHeadIconImg.Source =
|
||||||
new BitmapImage(new Uri("pack://application:,,,/Resources/Icons-png/tiebahuaji.png"));
|
CreateBitmapImage(new Uri("pack://application:,,,/Resources/Icons-png/tiebahuaji.png"));
|
||||||
FloatingbarHeadIconImg.Margin = new Thickness(2, 2, 2, 1);
|
FloatingbarHeadIconImg.Margin = new Thickness(2, 2, 2, 1);
|
||||||
}
|
}
|
||||||
else if (index >= 12 && index - 12 < Settings.Appearance.CustomFloatingBarImgs.Count)
|
else if (index >= 12 && index - 12 < Settings.Appearance.CustomFloatingBarImgs.Count)
|
||||||
@@ -1553,18 +1552,39 @@ namespace Ink_Canvas
|
|||||||
var customIcon = Settings.Appearance.CustomFloatingBarImgs[index - 12];
|
var customIcon = Settings.Appearance.CustomFloatingBarImgs[index - 12];
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
FloatingbarHeadIconImg.Source = new BitmapImage(new Uri(customIcon.FilePath));
|
var dpi = VisualTreeHelper.GetDpi(this);
|
||||||
|
var targetPixels = (int)Math.Round(58 * dpi.DpiScaleX);
|
||||||
|
var decodePixels = targetPixels * 2;
|
||||||
|
if (decodePixels < 64) decodePixels = 64;
|
||||||
|
if (decodePixels > 512) decodePixels = 512;
|
||||||
|
|
||||||
|
FloatingbarHeadIconImg.Source = CreateBitmapImage(new Uri(customIcon.FilePath), decodePixels);
|
||||||
FloatingbarHeadIconImg.Margin = new Thickness(2);
|
FloatingbarHeadIconImg.Margin = new Thickness(2);
|
||||||
}
|
}
|
||||||
catch
|
catch
|
||||||
{
|
{
|
||||||
// 如果加载失败,使用默认图标
|
// 如果加载失败,使用默认图标
|
||||||
FloatingbarHeadIconImg.Source = new BitmapImage(new Uri("pack://application:,,,/Resources/Icons-png/icc.png"));
|
FloatingbarHeadIconImg.Source = CreateBitmapImage(new Uri("pack://application:,,,/Resources/Icons-png/icc.png"));
|
||||||
FloatingbarHeadIconImg.Margin = new Thickness(0.5);
|
FloatingbarHeadIconImg.Margin = new Thickness(0.5);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static BitmapImage CreateBitmapImage(Uri uri, int decodePixelWidth = 0)
|
||||||
|
{
|
||||||
|
var image = new BitmapImage();
|
||||||
|
image.BeginInit();
|
||||||
|
image.UriSource = uri;
|
||||||
|
image.CacheOption = BitmapCacheOption.OnLoad;
|
||||||
|
if (decodePixelWidth > 0)
|
||||||
|
{
|
||||||
|
image.DecodePixelWidth = decodePixelWidth;
|
||||||
|
}
|
||||||
|
image.EndInit();
|
||||||
|
image.Freeze();
|
||||||
|
return image;
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 更新组合框中的自定义图标选项
|
/// 更新组合框中的自定义图标选项
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
Reference in New Issue
Block a user