簡體   English   中英

合並ImageBrush和SolidColorBrush? (作為畫布的背景)

[英]Merge an ImageBrush and a SolidColorBrush ? (as a Background of a Canvas)

我有一個ImageBrush和一個SolidColorBrush。 問題是,我現在想使用這些屬性設置畫布背景。

我可以輕松地將背景設置為ImageBrush或SolidColorBrush,但是可以進行某種合並嗎? 問題是我的ImageBrush.Stretch設置為Uniform,所以我可以看到后面的背景色! (“填充”不是這種情況)

現在,Brush是一個抽象類,因此我想提供的解決方案是對其進行擴展,但是對於一件聽起來很簡單且對我來說通用的事情,確實需要做很多工作……

還沒有其他解決方案嗎?

關於此事,盡管它具有圖像的絕對大小以及更重要的是長寬比被忽略的缺點。 但這可能會給您提示。

<Canvas>
    <Canvas.Background>
        <DrawingBrush>
            <DrawingBrush.Drawing>
                <DrawingGroup>
                    <GeometryDrawing Brush="Orange">
                        <GeometryDrawing.Geometry>
                            <RectangleGeometry Rect="0,0,1,1"/>
                        </GeometryDrawing.Geometry>
                    </GeometryDrawing>
                    <ImageDrawing ImageSource="C:\Users\Public\Pictures\Sample Pictures\Desert.jpg" Rect="0.2,0.2,0.6,0.6" />
                </DrawingGroup>
            </DrawingBrush.Drawing>
        </DrawingBrush>
    </Canvas.Background>
</Canvas>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM