728x90
반응형
728x170
▶ MainPage.xaml
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage x:Class="TestProject.MainPage"
xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml">
<StackLayout
HorizontalOptions="Center"
VerticalOptions="Center"
Spacing="10">
<Image x:Name="image"
HorizontalOptions="Center"
WidthRequest="300"
HeightRequest="300"
BackgroundColor="Beige"
Aspect="Fill" />
<Button x:Name="saveButton"
HorizontalOptions="Center"
Text="이미지 저장하기" />
</StackLayout>
</ContentPage>
728x90
▶ MainPage.xaml.cs
using System.Reflection;
using Microsoft.Maui.Graphics.Platform;
namespace TestProject;
/// <summary>
/// 메인 페이지
/// </summary>
public partial class MainPage : ContentPage
{
//////////////////////////////////////////////////////////////////////////////////////////////////// Constructor
////////////////////////////////////////////////////////////////////////////////////////// Public
#region 생성자 - MainPage()
/// <summary>
/// 생성자
/// </summary>
public MainPage()
{
InitializeComponent();
this.saveButton.Clicked += saveButton_Clicked;
}
#endregion
//////////////////////////////////////////////////////////////////////////////////////////////////// Method
////////////////////////////////////////////////////////////////////////////////////////// Private
#region 이미지 저장하기 버튼 클릭시 처리하기 - saveButton_Clicked(sender, e)
/// <summary>
/// 이미지 저장하기 버튼 클릭시 처리하기
/// </summary>
/// <param name="sender">이벤트 발생자</param>
/// <param name="e">이벤트 인자</param>
private void saveButton_Clicked(object sender, EventArgs e)
{
Microsoft.Maui.Graphics.IImage sourceImage;
using(Stream sourceStream = Assembly.GetExecutingAssembly().GetManifestResourceStream("TestProject.IMAGE.sample.png"))
{
sourceImage = PlatformImage.FromStream(sourceStream);
}
string filePath = Path.Combine(FileSystem.CacheDirectory, "sample.png");
using(FileStream saveStream = new FileStream(filePath, FileMode.Create, FileAccess.Write))
{
sourceImage.Save(saveStream);
}
using(FileStream loadStream = new FileStream(filePath, FileMode.Open, FileAccess.Read))
{
this.image.Source = ImageSource.FromStream(() => loadStream);
}
}
#endregion
}
728x90
반응형
그리드형(광고전용)
'C# > MAUI' 카테고리의 다른 글
[C#/MAUI/.NET6] 누겟 설치 : SQLitePCLRaw.provider.dynamic_cdecl (0) | 2022.07.12 |
---|---|
[C#/MAUI/.NET6] 누겟 설치 : sqlite-net-pcl (0) | 2022.07.12 |
[C#/MAUI/.NET6] REST WEB API 서비스 사용하기 (ANDROID) (UWP) (0) | 2022.07.12 |
[C#/MAUI/.NET6] Shell 엘리먼트 : 태양 일출/일몰 및 달 위상 정보 조회하기 (0) | 2022.07.09 |
[C#/MAUI/.NET6] Connectivity 클래스 : ConnectivityChanged 정적 이벤트를 사용해 네트워크 연결 변경시 처리하기 (0) | 2022.07.05 |
[C#/MAUI/.NET6] ICanvas 인터페이스 : FillCircle 메소드를 사용해 원 칠하기 (0) | 2022.07.03 |
[C#/MAUI/.NET6] ICanvas 인터페이스 : BlendMode 속성을 사용해 혼합 모드 설정하기 (프리뷰 버전 오류) (0) | 2022.07.03 |
[C#/MAUI/.NET6] DataTemplate 클래스 : CarouselView 클래스의 ItemTemplate 속성 설정하기 (0) | 2022.07.02 |
[C#/MAUI/.NET6] CarouselView 클래스 : ItemTemplate 속성 사용하기 (0) | 2022.07.01 |
[C#/MAUI/.NET6] IMediaPicker 인터페이스 : PickPhotoAsync 메소드를 사용해 갤러리 사진 구하기 (ANDROID) (0) | 2022.07.01 |
댓글을 달아 주세요