win10 uwp 截图 获取屏幕显示界面保存图片

正文重要谈怎么着保存咱们的屏幕显示的,保存也图,也就是截图,截大家接纳呈现的。

正文:让文件管理器选取文件,不是自文件管理器得到文件。

UWP有一个职能,可以截图,RenderTargetBitmap

假如都得到部分文本,那么什么样由文本管理器接纳这些文件?

咱第一写一个Grid,我们用为他名字,我这里为他Stamp,需要名称可以于大家于后使用截图用到元素。

运办法好粗略。

然后我们可使RenderTargetBitmap封存大家屏幕Grid呈现的

<!–more–>

            var bitmap = new RenderTargetBitmap();

            StorageFile file = await KnownFolders.PicturesLibrary.CreateFileAsync("1.jpg",

                CreationCollisionOption.GenerateUniqueName);

            await bitmap.RenderAsync(Stamp);

            var buffer = await bitmap.GetPixelsAsync();

            using (IRandomAccessStream stream = await file.OpenAsync(FileAccessMode.ReadWrite))

            {

                var encod = await BitmapEncoder.CreateAsync(

                    BitmapEncoder.JpegEncoderId, stream);

                encod.SetPixelData(BitmapPixelFormat.Bgra8,

                    BitmapAlphaMode.Ignore,

                    (uint)bitmap.PixelWidth,

                    (uint)bitmap.PixelHeight,

                    DisplayInformation.GetForCurrentView().LogicalDpi,

                    DisplayInformation.GetForCurrentView().LogicalDpi,

                    buffer.ToArray()

                   );

                await encod.FlushAsync();

            }

自从网上拿图来说

await bitmap.RenderAsync(Stamp);克将一个UIelement展现转为图片,可是者图片大家用因此BitmapEncoder才可以保存也我们的图样

www.188bet .com 1

BitmapEncoder可保存也bmp、jpg、gif、png

打开文件夹自动接纳有文件

封存要以SetPixelData
BitmapPixelFormat pixelFormat, BitmapAlphaMode alphaMode, System.UInt32 width, System.UInt32 height, System.Double dpiX, System.Double dpiY, [Range(0, int.MaxValue)] System.Byte[] pixels

先是用取得文件夹,因为这么些呆磨,实际不会面这么做

大家以Grid放一个Image,然后可以看看,大家的原图

           FolderPicker p = new FolderPicker();
        p.FileTypeFilter.Add(".txt");
        StorageFolder folder = await p.PickSingleFolderAsync();

www.188bet .com 2

本人倘若用户从文本管理打开,拔取具有文件

www.188bet .com 3

亟需使用 Folder​Launcher​Options ,他好使 ItemsToSelect
让管理器接纳文件

大家拿图纸部分勿显得,截图下来看下非示的是无是不怕无谋面当图纸

本来文件夹也是可以

       <Grid x:Name="Stamp" >

            <Image x:Name="image" Width="500"

                   Margin="200,10,10,10">

            </Image>

        </Grid>

但是 ItemsToSelect 是不过读,不可以当社团拔取,于是写一个变量

www.188bet .com 4

     var t = new FolderLauncherOptions();

可以看出我们发出一部分让开掉

落文件夹的富有文件,然后打开

www.188bet .com 5

     await Launcher.LaunchFolderAsync(folder, t);

假如我们不显得Grid

参见:https://codedocu.com/Details?d=1542&a=9&f=181&l=1&v=d&t=UWP:-How-to-Open-the-file-Explorer-from-a-Windows-app

  <Grid Grid.Row="0" Background="White"></Grid>

https://docs.microsoft.com/en-us/uwp/api/Windows.System.Launcher#Windows_System_Launcher_LaunchFolderAsync_Windows_Storage_IStorageFolder_Windows_System_FolderLauncherOptions_

大家的Grid被一个Grid,背景也白之挂,结果莫影响

www.188bet .com 6
本随笔使用知识共享署名-非商业性使用-相同方法共享 4.0
国际许可协议
举办许可。欢迎转载、使用、重新发布,但要保留著作署名林德熙(包含链接:http://blog.csdn.net/lindexi_gd
),不得用于生意目标,基于本文修改后的作品必须以同之准许公布。如发此外疑窦,请和本人联系

这我们而出示大家的图形显示均,我们得借一个简单的控件

<script type=”text/javascript”> $(function () { $(‘pre.prettyprint
code’).each(function () { var lines =
$(this).text().split(‘\n’).length; var $numbering =
$(‘<ul/>’).addClass(‘pre-numbering’).hide();
$(this).addClass(‘has-numbering’).parent().append($numbering); for (i =
1; i <= lines; i++) { $numbering.append($(‘<li/>’).text(i)); };
$numbering.fadeIn(1700); }); }); </script>

        <ScrollViewer VerticalScrollBarVisibility="Visible"

                      HorizontalScrollBarVisibility="Visible">

            <Grid x:Name="Stamp" >

                <Image x:Name="image" Width="500"

                   Margin="300,10,10,10">

                </Image>

            </Grid>

        </ScrollViewer>

咱俩的图未会晤为埋,因为我们得以有极端空间

www.188bet .com 7

www.188bet .com 8

俺们好当滚动条写大小也这多少个有些,可是Width="1"便离谱,我们无欲将他置身用户可视的,也便是身处最底部也是可

水印

UWP图片水印简单,大家用一个Image和一个水印,水冲在图Zindex比他卓殊

咱俩当我们图片的和个Panel放一个TextBlock,然后TextBlock就是咱的水印。

            <Grid x:Name="Stamp">

                <Image x:Name="image" Width="500"

                       Margin="300,10,10,10" />

                <TextBlock Text="blog.csdn.net/lindexi_gd"

                           HorizontalAlignment="Center"

                           VerticalAlignment="Center" />

            </Grid>

www.188bet .com 9

足见到我们发了水印,即使如此看起肯定都不认为是好的。(我非思说坏烂)

如果遇上了全黑的图,我们尚没有道加水印,但是基本99%的希冀是得的。(什么人说之,代码是私自的,vs背景用伪的多)

要是想只要改成颜色,每个颜色改变吗和图不同的,好难。

自想到渐变,这样每个颜色都出。LinearGradientBrush是潜移默化,我们需要每个字符都看看,我们将渐变改吧从上到下。EndPoint="0,1" StartPoint="0,0"一个凡发端的Point,一个是收

                    <TextBlock.Foreground>

                        <LinearGradientBrush EndPoint="结束点X,结束点Y" StartPoint="开始点X,开始点Y">

                            <GradientStop Color="颜色 默认offset=0"/>

                            <GradientStop Color="White" Offset="1 1就是100%"/>

                        </LinearGradientBrush>

                    </TextBlock.Foreground>

www.188bet .com 10

说及立刻,我们来总的说下,就是之所以一个滚动长将咱的一个Grid放进去,然后Grid里面存在一样布置图纸与一个TextBlock,图片就是咱得加水印的,TextBlock就是水印,水印颜色极好渐变,然后使用得元素图片截图。保存截图就是咱的图加水印,做法分外粗略。

如若对大图感觉水印太小,可以就此ViewBox。假设认为大家水印要在中游,或下方依旧外,那么我们要拿Image的宽窄不安装,然后Grid也无设置低度与增幅。

        <ScrollViewer Width="10" Height="10"

            VerticalScrollBarVisibility="Visible"

                      HorizontalScrollBarVisibility="Visible">

            <Grid x:Name="Stamp">

                <Image x:Name="image" HorizontalAlignment="Left"

                       VerticalAlignment="Top"

                       Margin="10,10,10,10" />

                <TextBlock Text="blog.csdn.net/lindexi_gd"

                           HorizontalAlignment="Center"

                           VerticalAlignment="Center" >

                    <TextBlock.Foreground>

                        <LinearGradientBrush EndPoint="0,1" StartPoint="0,0">

                            <GradientStop Color="Black"/>

                            <GradientStop Color="White" Offset="1"/>

                        </LinearGradientBrush>

                    </TextBlock.Foreground>

                </TextBlock>

            </Grid>

        </ScrollViewer>

参见:http://www.zmy123.cn/?p=1257

www.188bet .com 11
依作品以知共享署名-非商业性使用-相同格局同享 4.0
国际许可协议
www.188bet .com,举办许可。欢迎转载、使用、重新揭橥,但得保留作品署名林德熙(包含链接:http://blog.csdn.net/lindexi_gd
),不得用于生意目标,基于本文修改后的小说必须以同一之认同宣布。如有另问题,请和自我联系

<script type=”text/javascript”> $(function () { $(‘pre.prettyprint
code’).each(function () { var lines =
$(this).text().split(‘\n’).length; var $numbering =
$(‘<ul/>’).addClass(‘pre-numbering’).hide();
$(this).addClass(‘has-numbering’).parent().append($numbering); for (i =
1; i <= lines; i++) { $numbering.append($(‘<li/>’).text(i)); };
$numbering.fadeIn(1700); }); }); </script>

Leave a Comment.