首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将截图从程序分享到社交媒体(Facebook、电报等)?

如何将截图从程序分享到社交媒体(Facebook、电报等)?
EN

Stack Overflow用户
提问于 2021-07-05 19:23:16
回答 1查看 627关注 0票数 0

我在页面上做了一个截图,我想把它分享给社交媒体。我不知道如何与社交媒体分享形象。我只知道如何分享文本,但我需要分享image.Please帮助我分享程序截图

代码语言:javascript
复制
 <ContentPage.Content>
        <StackLayout HeightRequest="30" WidthRequest="30">

            <StackLayout x:Name="header">
                <Frame
                    Padding="3"
                    BackgroundColor="White"
                    BorderColor="#DBDBDB"
                    CornerRadius="15"
                    HasShadow="False">
                    <StackLayout Orientation="Horizontal">
                        <StackLayout
                            Margin="5,0,0,0"
                            HorizontalOptions="Start"
                            Orientation="Horizontal">

                            <StackLayout VerticalOptions="Center">
                                <Label
                                    FontSize="16"
                                    HorizontalOptions="Start"
                                    Text="USD"
                                    TextColor="Black" />
                                <Label
                                    FontSize="10"
                                    HorizontalOptions="Start"
                                    Text="US Dollar"
                                    TextColor="Black" />
                            </StackLayout>


                        </StackLayout>

                    </StackLayout>
                </Frame>
            </StackLayout>

            <Button x:Name="ShareButton" Text="Share" />
            <Image x:Name="result" />
        </StackLayout>
    </ContentPage.Content>



 public async void Button_Clicked(Object o,EventArgs e)
        {
            var image =await header.CaptureImageAsync();
            result.Source = ImageSource.FromStream(() => image);

        }

这是代码,我如何使screenshot.Please帮助我分享图像从程序到社交媒体

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-07-06 05:37:07

所有这些都可以使用Xamarin.Essentials

例如,如果您想共享一个屏幕快照,可以将其保存截图到一个文件(演示代码):

代码语言:javascript
复制
async Task<string> CaptureScreenshotAsync()
{
    var screenshot = await Xamarin.Essentials.Screenshot.CaptureAsync();
    var stream = await screenshot.OpenReadAsync();
    var file = Path.Combine(FileSystem.CacheDirectory, "screenshot.png");
    using (FileStream fs = File.Open(file, FileMode.CreateNew))
    {
        await stream.CopyToAsync(fs);
        await fs.FlushAsync();
    }
    return file;
}

然后是共享此文件 (演示代码):

代码语言:javascript
复制
async Task ShareFile(string filename, string filepath) 
{
    await Share.RequestAsync(new ShareFileRequest()
            {
                Title = filename,
                File = new ShareFile(filepath)
            });
}

注意:您应该确保文件扩展名是正确的。我遇到了一些问题,共享或打开文件没有或错误的文件扩展名。

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

https://stackoverflow.com/questions/68261185

复制
相关文章

相似问题

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