红着眼 2023-10-31 14:44 采纳率: 27.8%
浏览 19
已结题

C# Chart 模糊处理,类似未登录看不了高清效果一样。

WPF利用WindowsFormsHost 加载图表,请问Effect怎么没效果呢,运行出来的报表还是高清。请问怎么做呢。

<WindowsFormsHost Width="{Binding ElementName=centreCanvasC1, Path=ActualWidth}" Height="{Binding ElementName=centreCanvasC1, Path=ActualHeight}">
      <WindowsFormsHost.Effect>
          <BlurEffect Radius="3" KernelType="Gaussian"/>
      </WindowsFormsHost.Effect>
      <Chr:Chart x:Name="chartRunInfo"/>
</WindowsFormsHost>

运行出来的效果图

img

  • 写回答

6条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2023-10-31 14:45
    关注

    引自强大而免费的微信小程序:皆我百晓生

    很抱歉,WindowsFormsHost不支持WPF的Effect效果,因此无法直接在WindowsFormsHost上应用模糊效果。

    要实现类似的模糊效果,可以尝试以下方法:

    1. 使用WPF中的Image控件加载生成的报表图像,并在Image上应用模糊效果。
    <Image Width="{Binding ElementName=centreCanvasC1, Path=ActualWidth}" Height="{Binding ElementName=centreCanvasC1, Path=ActualHeight}">
        <Image.Source>
            <!-- 将报表生成为图像,例如使用RenderTargetBitmap -->
        </Image.Source>
        <Image.Effect>
            <BlurEffect Radius="3" KernelType="Gaussian"/>
        </Image.Effect>
    </Image>
    
    1. 在报表生成的过程中,将图表的高清效果模糊处理,然后再加载到WindowsFormsHost中显示。
    // 生成报表的代码
    Chart chart = new Chart();
    // 设置图表属性和数据...
    
    // 将图表生成为图像
    using (MemoryStream ms = new MemoryStream())
    {
        chart.SaveImage(ms, ChartImageFormat.Png);
        BitmapImage chartImage = new BitmapImage();
        chartImage.BeginInit();
        chartImage.StreamSource = ms;
        chartImage.CacheOption = BitmapCacheOption.OnLoad;
        chartImage.EndInit();
    
        // 应用模糊效果
        Effects.BlurEffect blurEffect = new Effects.BlurEffect();
        blurEffect.Radius = 3;
        blurEffect.KernelType = KernelType.Gaussian;
    
        // 显示图像
        Image chartImageControl = new Image();
        chartImageControl.Source = chartImage;
        chartImageControl.Effect = blurEffect;
    
        // 将Image控件添加到WindowsFormsHost中
        windowsFormsHost.Child = chartImageControl;
    }
    

    这样就能在未登录时,将生成的报表图像进行模糊处理,从而实现类似未登录看不了高清效果的效果。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(5条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 11月1日
  • 已采纳回答 11月1日
  • 创建了问题 10月31日

悬赏问题

  • ¥50 AI大模型精调(百度千帆、飞浆)
  • ¥15 关于#c语言#的问题:我在vscode和codeblocks中编写c语言时出现打不开源文件该怎么办
  • ¥15 非科班怎么跑代码?如何导数据和调参
  • ¥15 福州市的全人群死因监测点死亡原因报表
  • ¥15 Altair EDEM中生成一个颗粒,并且各个方向没有初始速度
  • ¥15 系统2008r2 装机配置推荐一下
  • ¥500 服务器搭建cisco AnyConnect vpn
  • ¥15 悬赏Python-playwright部署在centos7上
  • ¥15 psoc creator软件有没有人能远程安装啊
  • ¥15 快速扫描算法求解Eikonal方程咨询