Aspose.CADをマルチプラットフォームアプリUI(MAUI)で実行する方法

前提条件

  • Visual Studio 2022。
  • サンプルでは、.NET 7 SDKが使用されています。

MAUI

.NETマルチプラットフォームアプリUI(.NET MAUI)は、C#とXAMLを使用してネイティブのモバイルおよびデスクトップアプリを作成するためのクロスプラットフォームフレームワークです。 .NET MAUIを使用すると、Android、iOS、macOS、Windowsで動作するアプリを単一の共有コードベースから開発できます。

.NET MAUIはオープンソースであり、Xamarin.Formsの進化版であり、モバイルからデスクトップシナリオに拡張されており、パフォーマンスと拡張性のためにゼロから再構築されたUIコントロールがあります。 以前にXamarin.Formsを使用してクロスプラットフォームのユーザーインターフェースを構築していた場合、.NET MAUIとの多くの類似点に気付くでしょう。 ただし、いくつかの違いもあります。 .NET MAUIを使用すると、単一のプロジェクトでマルチプラットフォームアプリを作成できますが、必要に応じてプラットフォーム固有のソースコードやリソースを追加できます。 .NET MAUIの主要な目標の1つは、可能な限りアプリのロジックやUIレイアウトを単一のコードベースで実装できるようにすることです。

MAUIのインストール

  1. .NET MAUIアプリを作成するには、最新バージョンのVisual Studio 2022が必要です。
  2. Visual Studioをインストールするか、既存のインストールを変更して、.NETマルチプラットフォームアプリUI開発ワークロードをデフォルトのオプションでインストールします:
    Visual installer

プロジェクトの作成

  1. Visual Studioを起動します。スタートウィンドウで「新しいプロジェクトの作成」をクリックして、新しいプロジェクトを作成します:
    Create project
  2. 「新しいプロジェクトの作成」ウィンドウで、「すべてのプロジェクトタイプ」ドロップダウンからMAUIを選択し、「.NET MAUIアプリ」テンプレートを選択して「次へ」ボタンをクリックします:
    Select project type
  3. 「新しいプロジェクトの構成」ウィンドウで、プロジェクト名を付け、適切な場所を選択して「次へ」ボタンをクリックします:
    Select project path
  4. 「追加情報」ウィンドウで、ターゲットとする.NETのバージョンを選択し、「作成」ボタンをクリックします:
    Target Framework
  5. プロジェクトが作成され、その依存関係が復元されるのを待ちます。
  6. NuGetから最新のAspose.CADバージョンをインストールします:
    NuGet
  7. MainPage.xamlのコードを置き換えます
    <?xml version="1.0" encoding="utf-8" ?>
    <ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
                 xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
                 x:Class="MauiApp1.MainPage">
    
        <ScrollView>
            <VerticalStackLayout
                Spacing="25"
                Padding="30,0"
                VerticalOptions="Center">
    
                 <Label 
                Text="ようこそ、.NET MAUIへ!"
                VerticalOptions="Center" 
                HorizontalOptions="Center" />
    
                <Image
                    x:Name="Base64DecodedImage"
                    Source="dotnet_bot.png"
                    SemanticProperties.Description="かわいいドットネットボットがあなたに手を振っています!"
                    HeightRequest="600"
                    HorizontalOptions="Center" />
    
                <Label
                    Text="こんにちは、世界!"
                    SemanticProperties.HeadingLevel="Level1"
                    FontSize="32"
                    HorizontalOptions="Center" />
    
                <Label
                    Text=".NETマルチプラットフォームアプリUIへようこそ"
                    SemanticProperties.HeadingLevel="Level2"
                    SemanticProperties.Description="ドットネットマルチプラットフォームアプリUIへようこそ"
                    FontSize="18"
                    HorizontalOptions="Center" />
    
                <Button
                    x:Name="FileSelectrBtn"
                    Text="ファイルを選択"
                    SemanticProperties.Hint="クリックした回数をカウントします"
                    Clicked="OnSelectFileClicked"
                    HorizontalOptions="Center" />
    
                <Button
                    x:Name="ClearBtn"
                    Text="クリア"
                    SemanticProperties.Hint="クリックした回数をカウントします"
                    Clicked="OnCleanClicked"
                    HorizontalOptions="Center" />
    
            </VerticalStackLayout>
        </ScrollView>
    </ContentPage>
  8. MainPage.xaml.csに新しいメソッドを追加します
    private void OnCleanClicked(object sender, EventArgs e)
    {
        Base64DecodedImage.Source = "dotnet_bot.png";
    }
    private async void OnSelectFileClicked(object sender, EventArgs e)
    {
        var result = await FilePicker.PickAsync(new PickOptions()
        {
            PickerTitle = "any"
        });
        if (result == null)
        {
            return;
        }
        var stream = await result.OpenReadAsync();
        var img = Aspose.CAD.Image.Load(stream);
        var ms = new MemoryStream();
        await img.SaveAsync(ms, new PngOptions());
        Base64DecodedImage.Source = ImageSource.FromStream(() => ms);
    }

Windowsマシンでのデバッグ

  1. Visual Studioのツールバーで、デバッグターゲットドロップダウンを使用して「Framework」を選択し、次に「net7.0-windows」エントリを選択します:
    Debug Target
  2. Visual Studioのツールバーで「Windowsマシン」ボタンを押して、アプリをビルドして実行します:
    Start Debugging on Windows Machine
  3. 実行中のアプリで「ファイルを選択」ボタンを何度か押し、ボタンのクリック回数が増加するのを観察します:
    Home Page
  4. 必要なファイルを選択し、「開く」をクリックします:
    Select file
  5. ファイルの処理後、変換されたファイルの画像が画面に表示されるはずです:
    The result of debugging windows

Androidエミュレーターのインストール

  1. Visual Studioのツールバーで、デバッグターゲットドロップダウンを使用して「Androidエミュレーター」を選択し、次に「Androidエミュレーター」エントリを選択します。
  2. Visual Studioのツールバーで「Androidエミュレーター」ボタンを押します:
    Start install Emulator button
  3. Android SDK - ライセンス契約ウィンドウで「同意」ボタンを押します:
    Android SDK-License Agreement
  4. Android SDK - ライセンス契約ウィンドウで「同意」ボタンを押します:
    Android SDK ARM -License Agreement
  5. ユーザーアカウント制御ダイアログで「はい」ボタンを押します:
    SDK Manager
  6. ライセンス受諾ウィンドウで「同意」ボタンを押します:
    SDK ARManagerM -License Agreement
  7. Visual Studioのツールバーで「Androidエミュレーター」ボタンを押します:
    Start install Emulator button
  8. ユーザーアカウント制御ダイアログで「はい」ボタンを押します:
    Android Device Manager
  9. 新しいデバイスウィンドウで「作成」ボタンを押します:
    New Android Device
  10. Androidデバイスマネージャーウィンドウを閉じます。

Androidエミュレーターでのデバッグ

  1. Visual Studioのツールバーで「Pixel 5 - API 33 (Android 13.0 - API 33)」ボタンを押してアプリをビルドして実行します:
    Select android Emulator
  2. Androidエミュレーターの実行中のアプリで「ファイルを選択」ボタンを何度か押し、ボタンのクリック回数が増加するのを観察します:
    Android Emulator Home Page
  3. 必要なファイルを選択し、「選択」をクリックします:
    Select file in andoid
  4. ファイルの処理後、変換されたファイルの画像が画面に表示されるはずです:
    The result of debugging android

その他の例

DockerでAspose.CADを使用する方法のさらなるサンプルについては、examplesを参照してください。

参照