我在页面上做了一个截图,我想把它分享给社交媒体。我不知道如何与社交媒体分享形象。我只知道如何分享文本,但我需要分享image.Please帮助我分享程序截图
<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帮助我分享图像从程序到社交媒体
发布于 2021-07-06 05:37:07
所有这些都可以使用Xamarin.Essentials。
例如,如果您想共享一个屏幕快照,可以将其保存截图到一个文件(演示代码):
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;
}然后是共享此文件 (演示代码):
async Task ShareFile(string filename, string filepath)
{
await Share.RequestAsync(new ShareFileRequest()
{
Title = filename,
File = new ShareFile(filepath)
});
}注意:您应该确保文件扩展名是正确的。我遇到了一些问题,共享或打开文件没有或错误的文件扩展名。
https://stackoverflow.com/questions/68261185
复制相似问题