【问题标题】:How to take screenshot and share it from program to social media(Facebook,Telegram and other)?如何截取屏幕截图并将其从程序分享到社交媒体(Facebook、Telegram 等)?
【发布时间】:2021-07-05 19:23:16
【问题描述】:

我在页面上制作了一个屏幕截图,我想将其分享到社交媒体。我不知道如何将图像分享到社交媒体。我只知道如何分享文字,但我需要分享图片。请帮我分享程序截图

 <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);

        }

这是我如何制作截图的代码。请帮助我将图像从程序分享到社交媒体

【问题讨论】:

  • 你能帮我把我的图片保存到文件吗?
  • 现有大量关于在 C# 中将流保存到文件的帖子
  • 如果你想问如何截屏然后分享,你应该更新你的问题标题和描述,这样其他有同样问题的人也可以找到它并从中获得帮助。
  • @AlexS okey.我编辑了

标签: c# xamarin xamarin.forms share


【解决方案1】:

您可以使用Xamarin.Essentials 来完成所有这些操作。

例如,如果你想分享截图你可以save the screenshot到一个文件(演示代码):

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;
}

然后share this file(演示代码):

async Task ShareFile(string filename, string filepath) 
{
    await Share.RequestAsync(new ShareFileRequest()
            {
                Title = filename,
                File = new ShareFile(filepath)
            });
}

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

【讨论】:

  • 请帮我将图像保存到文件
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-04-05
  • 1970-01-01
  • 1970-01-01
  • 2012-12-06
  • 2016-03-21
  • 2019-07-26
  • 1970-01-01
相关资源
最近更新 更多