首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WebView DefaultBackgroundColor Transparent不会呈现到WebViewBrush

WebView DefaultBackgroundColor Transparent不会呈现到WebViewBrush
EN

Stack Overflow用户
提问于 2020-06-24 08:57:44
回答 1查看 98关注 0票数 0

我有一个透明的背景网页视图,有时我需要交互(为了墨水)。当我切换到When视图笔刷时,webviewbrush笔刷将透明度渲染为黑色。我想知道如何让渲染变得透明: C#代码:

代码语言:javascript
复制
private void MyInkToolbar_ActiveToolChanged(InkToolbar toolbar, object sender)
        {
            if (myInkToolbar.ActiveTool == objectSelect)
            {
                textCanvas.IsHitTestVisible = true;
                testTiny.Visibility = Visibility.Visible;
                testTinyOverlay.Visibility = Visibility.Collapsed;

            }
            else
            {
                if (textCanvas.IsHitTestVisible == true)
                {
                    testTinyOverlay.Visibility = Visibility.Visible;
                    CaptureWebView();
                    testTiny.Visibility = Visibility.Collapsed;
                    textCanvas.IsHitTestVisible = false;
                }
            }
        }
        private void CaptureWebView()
        {
            WebViewBrush b = new WebViewBrush();
            b.SetSource(testTiny);
            b.Redraw();
            testTinyOverlay.Fill = b;
        }

Xaml代码:

代码语言:javascript
复制
<Canvas x:Name="textCanvas">
                        <Grid Name="testTinyGrid" Width="200" Height="200" Background="Transparent">
                            <Rectangle x:Name="testTinyOverlay" Fill="Transparent"/>
                            <WebView x:Name="testTiny" DefaultBackgroundColor="Transparent" Source="ms-appx-web:///HTML/TinyEditor.html"/>
                        </Grid>
                    </Canvas>

Webview Render Image

WebViewBrush Render Image

EN

回答 1

Stack Overflow用户

发布于 2020-06-24 10:19:50

WebView.DefaultBackgroundColor是一个额外的背景,DefaultBackgroundColor就像纸张,Html内容就像绘画。WebViewBrush相当于在渲染时拍摄当前WebView的快照。

如果WebView.DefaultBackgroundColor透明,则意味着WebView本身没有背景,但背景颜色由底层元素(如页面本身)提供。这不是视觉问题,但快照无法提取任何背景像素,这是由于渲染WebViewBrush显示为黑色导致的,这表示图像没有背景颜色。

根据这种情况,解决方法是设置WebView的DefaultBackgroundColor,可以将其设置为与页面背景相同的颜色(例如白色),以保持相同的视觉效果。

谢谢。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62545964

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档