探测器设置界面增加图像灰度直方图,用于显示实时采集图像的灰度信息,优化图像灰度直方图的显示方式(无图像提示)和优化资源释放。
This commit is contained in:
@@ -2,12 +2,18 @@
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation"
|
||||
xmlns:loc="clr-namespace:XP.Common.Localization.Extensions"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
mc:Ignorable="d"
|
||||
d:DesignHeight="200" d:DesignWidth="400">
|
||||
<Grid>
|
||||
<!-- 图表控件 | Chart control -->
|
||||
<telerik:RadCartesianChart x:Name="HistogramChart">
|
||||
<!-- 禁用 Telerik 自带的无数据提示 | Disable Telerik built-in empty content -->
|
||||
<telerik:RadCartesianChart.EmptyContent>
|
||||
<TextBlock/>
|
||||
</telerik:RadCartesianChart.EmptyContent>
|
||||
<!-- X 轴:灰度级别 | X Axis: Gray Level -->
|
||||
<telerik:RadCartesianChart.HorizontalAxis>
|
||||
<telerik:LinearAxis x:Name="XAxis"
|
||||
@@ -32,5 +38,14 @@
|
||||
ShowLabels="False"/>
|
||||
</telerik:RadCartesianChart.Series>
|
||||
</telerik:RadCartesianChart>
|
||||
|
||||
<!-- 无数据提示文本(叠加在图表上方)| No data placeholder text (overlaid on chart) -->
|
||||
<TextBlock x:Name="NoDataPlaceholder"
|
||||
Text="{loc:Localization Histogram_NoData}"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"
|
||||
FontSize="14"
|
||||
Foreground="#9E9E9E"
|
||||
Visibility="Visible"/>
|
||||
</Grid>
|
||||
</UserControl>
|
||||
|
||||
@@ -219,10 +219,24 @@ namespace XP.Common.Controls.ImageHistogram
|
||||
// 取消帧率限流器中的待处理任务 | Cancel pending tasks in throttler
|
||||
_frameThrottler.Cancel();
|
||||
|
||||
// 清空图表 | Clear chart
|
||||
if (_chartRenderer != null)
|
||||
// 清空图表(捕获局部引用避免异步执行时为 null)| Clear chart (capture local ref to avoid null during async)
|
||||
var renderer = _chartRenderer;
|
||||
if (renderer != null)
|
||||
{
|
||||
Dispatcher.InvokeAsync(() => _chartRenderer.Clear());
|
||||
Dispatcher.InvokeAsync(() =>
|
||||
{
|
||||
try
|
||||
{
|
||||
renderer.Clear();
|
||||
|
||||
// 显示无数据提示 | Show no-data placeholder
|
||||
NoDataPlaceholder.Visibility = Visibility.Visible;
|
||||
}
|
||||
catch
|
||||
{
|
||||
// 控件已卸载时忽略 | Ignore if control already unloaded
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
@@ -259,6 +273,9 @@ namespace XP.Common.Controls.ImageHistogram
|
||||
{
|
||||
isLog = IsLogarithmic;
|
||||
_chartRenderer?.UpdateData(histogram, isLog);
|
||||
|
||||
// 隐藏无数据提示 | Hide no-data placeholder
|
||||
NoDataPlaceholder.Visibility = Visibility.Collapsed;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
||||
@@ -1887,4 +1887,8 @@ Reprojection error: {1:F4} pixels</value>
|
||||
<data name="ChessboardImageError" xml:space="preserve">
|
||||
<value>Image{0}: {1:F4} pixels</value>
|
||||
</data>
|
||||
<data name="Histogram_NoData" xml:space="preserve">
|
||||
<value>Histogram — No data</value>
|
||||
<comment>ImageHistogramControl - Placeholder text when no image data</comment>
|
||||
</data>
|
||||
</root>
|
||||
@@ -1920,4 +1920,8 @@
|
||||
<data name="ChessboardImageError" xml:space="preserve">
|
||||
<value>图像{0}: {1:F4} 像素</value>
|
||||
</data>
|
||||
<data name="Histogram_NoData" xml:space="preserve">
|
||||
<value>直方图 — 暂无数据</value>
|
||||
<comment>ImageHistogramControl - 无图像输入时的提示文本 | Placeholder text when no image data</comment>
|
||||
</data>
|
||||
</root>
|
||||
@@ -1881,4 +1881,8 @@
|
||||
<data name="ChessboardImageError" xml:space="preserve">
|
||||
<value>图像{0}: {1:F4} 像素</value>
|
||||
</data>
|
||||
<data name="Histogram_NoData" xml:space="preserve">
|
||||
<value>直方图 — 暂无数据</value>
|
||||
<comment>ImageHistogramControl - 无图像输入时的提示文本 | Placeholder text when no image data</comment>
|
||||
</data>
|
||||
</root>
|
||||
@@ -1881,4 +1881,8 @@
|
||||
<data name="ChessboardImageError" xml:space="preserve">
|
||||
<value>图像{0}: {1:F4} 像素</value>
|
||||
</data>
|
||||
<data name="Histogram_NoData" xml:space="preserve">
|
||||
<value>直方圖 — 暫無資料</value>
|
||||
<comment>ImageHistogramControl - 無圖像輸入時的提示文字 | Placeholder text when no image data</comment>
|
||||
</data>
|
||||
</root>
|
||||
Reference in New Issue
Block a user