有没有办法通过使用 Lumia 成像 sdk 或任何其他替代方法来读取颜色查找表并将其应用于源图像?
提前致谢!
有没有办法通过使用 Lumia 成像 sdk 或任何其他替代方法来读取颜色查找表并将其应用于源图像?
提前致谢!
有没有办法通过使用 Lumia 成像 sdk 或任何其他替代方法来读取颜色查找表并将其应用于源图像?
UWP 不提供读取颜色的控制。您可以使用ColorPicker来选择您想要的颜色。ColorPicker提供SelectedColor
属性来获取选定的颜色。
Lumia Imaging SDK提供了许多类来改变图像的效果。从 Lumia 成像效果表中,您似乎想要使用ColorAdjustEffect来调整图像的 RGB 颜色组合。
您可以设置ColorAdjustEffect.Blue、ColorAdjustEffect.Green和ColorAdjustEffect.Red。这些属性的范围是 -1.0 到 1.0。您还可以将Color.R设置为 0 到 255 之间的值。
作为工作回合,您可以使用不准确的方法将范围从 [-1,1] 转换为 [0,255]。
例如:
在 XAML 中:
<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="3*"/>
<RowDefinition Height="auto"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"></ColumnDefinition>
</Grid.ColumnDefinitions>
<Image Name="OriginalImage" Grid.Row="0" Width="200" Height="200"></Image>
<xc:ColorPicker Name="MyColor" SelectedColorChanged="ColorPicker_SelectedColorChanged" Grid.Row="1" Grid.Column="1"></xc:ColorPicker>
<SwapChainPanel x:Name="SwapChainPanelTarget" Grid.Row="1" />
<Button Grid.Row="2" HorizontalAlignment="Center" Content="Button" Click="Button_Click"></Button>
</Grid>
在后面的代码中:
private async void ColorPicker_SelectedColorChanged(object sender, EventArgs e)
{
var r = MyColor.SelectedColor.Color.R * 2.0 / 255 - 1;
var g = MyColor.SelectedColor.Color.G * 2.0 / 255 - 1;
var b = MyColor.SelectedColor.Color.B * 2.0 / 255 - 1;
_colorAdjustEffect.Red = r;
_colorAdjustEffect.Green = g;
_colorAdjustEffect.Blue = b;
m_renderer = new SwapChainPanelRenderer(_colorAdjustEffect, SwapChainPanelTarget);
await m_renderer.RenderAsync();
}
截图(gif):
感谢您的回复!
我们的问题陈述和用例是不同的,我们想要实现的是我们有一个 .png 图像,它是一个具有 ARGB 值的 3D 查找表,我们希望将其逐个像素地应用于目标图像。
如果您可以建议我们或提供代码示例或片段来读取查找表并将 ARGB 值应用于目标图像,这将是一个很大的帮助。
目前我们正在尝试 RGBMixerEffect 和 ARGBColorCurves 的 David 建议的解决方案。但是我们不确定如何将查找表 png 转换为 ARGB,以便我们可以使用 David 建议的上述任何替代方案。
Lumia Imaging SDK 中没有查找表效果。也就是说,根据您的需要,您可能可以通过使用RGBMixerEffect来实现所需的效果。它使用ARGBColorCurves的集合将一种颜色映射到另一种颜色。
设置所有曲线可能需要一些工作,但您应该能够达到您想要的效果。