gpt4 book ai didi

c# - 如何更新 DrawingImage 中的颜色

转载 作者:太空狗 更新时间:2023-10-29 23:49:56 25 4
gpt4 key购买 nike

我们的应用程序已通过 DrawingImage 范例转换为使用矢量图像。我想在 DrawingImage 变量中制作颜色/画笔,但没有成功。

为什么:我这样做的原因是我们在应用程序中使用主题,我想在主题更改时更改所有图像。从技术上讲,我只想更改颜色而不是图像。

我试过的:我已经将颜色(我说颜色是因为图像中使用了不同类型的笔/画笔)声明为连接到定义的画笔的 DynamicResource,然后尝试通过绑定(bind)更新该画笔,但我没有得到任何更改。我还尝试通过绑定(bind)图像来重绘图像,然后在 ApplicationThemeChanged 事件触发时重绘它。这仍然不起作用,这让我感到惊讶。

旁注:我主要想在按钮中执行此操作,并扩展了 Button 类以添加功能,将其称为 VectorButton。我的意思是,我有 VectorButton.cs 文件,这是一种进行更改的可用方法。

如果您需要任何特定的代码示例,请询问,我会发布。我认为这是不言自明的。

提前感谢您的帮助!

DrawingImage 示例(当主题更改时,我正在换出 ResourceDictionaries。每个资源字典都有 PrimaryColor 的副本,但具有不同的颜色值。)

    <DrawingImage x:Key="myVectorIconDrawingImage">
<DrawingImage.Drawing>
<DrawingGroup>
<DrawingGroup.ClipGeometry>
<RectangleGeometry Rect="0,0,744.09448,1052.3622" />
</DrawingGroup.ClipGeometry>
<DrawingGroup>
<GeometryDrawing Brush="{DynamicResource PrimaryColor}">
<GeometryDrawing.Pen>
<Pen Brush="{DynamicResource PrimaryColor}" Thickness="1" StartLineCap="Flat" EndLineCap="Flat" LineJoin="Miter" />
</GeometryDrawing.Pen>
<GeometryDrawing.Geometry>
<PathGeometry FillRule="EvenOdd" Figures="M239.0625,299L239.0625,349 289.0625,349 289.0625,299 239.0625,299z M309.5625,299.5L309.5625,348.53125 507.59375,348.53125 507.59375,299.5 309.5625,299.5z M239.0625,384L239.0625,434 289.0625,434 289.0625,384 239.0625,384z M309.5625,384.5L309.5625,433.53125 507.59375,433.53125 507.59375,384.5 309.5625,384.5z M239.0625,469L239.0625,519 289.0625,519 289.0625,469 239.0625,469z M309.5625,469.5L309.5625,518.53125 507.59375,518.53125 507.59375,469.5 309.5625,469.5z" />
</GeometryDrawing.Geometry>
</GeometryDrawing>
</DrawingGroup>
</DrawingGroup>
</DrawingImage.Drawing>
</DrawingImage>

最佳答案

我建议您查看pixel shaders .

关于c# - 如何更新 DrawingImage 中的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37074769/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com