ASP.NET Core Web アプリでの Aspose.Drawing の操作

この記事では、Razor ページを使用して ASP.NET Core Web アプリケーションでベクター グラフィックを作成および表示する方法を学習します。見事なベクター グラフィックを作成するには、Aspose.Drawing ライブラリを使用します。このステップバイステップ ガイドでは、Aspose.Drawing を ASP.NET Core Web アプリに統合するプロセスについて説明します。

Aspose.Drawing for .NET について理解する

Aspose.Drawing for .NET は、ベクター グラフィックスを描画するためのクロスプラットフォーム 2D グラフィックス ライブラリです。これにより、開発者はプログラムでベクター グラフィックスを操作できるようになります。このライブラリを使用すると、テキストだけでなく、線、曲線、図形などのベクトル グラフィックスをラスター イメージ上にレンダリングできます。画像は、BMPPNGJPEGGIFTIFF などの一般的に使用されるすべてのグラフィック形式で保存できます。

ASP.NET Core Web ページでベクター グラフィックスを作成および表示する方法

次の手順に従って、ASP.NET Core Web アプリケーションでベクター グラフィックを作成および表示できます。

ASP.NET Core Web アプリ プロジェクトを作成する

  • 新しいプロジェクトを作成し、ASP.NET Core Web App プロジェクト テンプレートを選択します。
Select the project template.

Select the project template.

  • その後、プロジェクト名を書き込んで次のステップに進みます。

  • 最後に、フレームワーク .NET 7.0 (標準期間サポート) を選択し、HTTPS 用に構成するオプションをチェックし、作成ボタンをクリックしてプロジェクトを作成します。

プロジェクトフレームワークの選択

プロジェクトフレームワークの選択

Aspose.Drawing NuGet パッケージを追加

  • NuGet パッケージ マネージャーを開き、Aspose.Drawing for .NET パッケージをインストールします。
Aspose.Drawing for .NET をインストールする

Aspose.Drawing for .NET をインストールする

画像描画コードを追加する

  • Pages\Index.cshtml.cs を開き、その内容を次のスクリプトに置き換えます。
using Microsoft.AspNetCore.Mvc.RazorPages;
using System.Drawing.Drawing2D;
using System.Drawing.Imaging;
using System.Drawing;

namespace AsposeDrawingWebApplication.Pages
{
    public class IndexModel : PageModel
    {
        private readonly ILogger<IndexModel> _logger;
        
        public string imageSrc { get; set; }

        public IndexModel(ILogger<IndexModel> logger)
        {
            _logger = logger;
        }
        public void OnGet()
        {
            imageSrc = "data:image/png;base64, " + Convert.ToBase64String(Draw(ImageFormat.Png).ToArray());
        }

        static MemoryStream Draw(ImageFormat format)
        {
            // このコード例は、リージョンを描画する方法を示しています。
            // ビットマップを作成する
            Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);

            // ビットマップからの初期化グラフィックス
            Graphics graphics = Graphics.FromImage(bitmap);
            graphics.SmoothingMode = SmoothingMode.AntiAlias;

            // グラフィックスパスの初期化
            GraphicsPath path = new GraphicsPath();

            // ポリゴンを追加する
            path.AddPolygon(new Point[] { new Point(100, 400), new Point(500, 100), new Point(900, 400), new Point(500, 700) });

            // 領域を初期化する
            Region region = new Region(path);

            // 内部グラフィックスパス
            GraphicsPath innerPath = new GraphicsPath();

            // 長方形を追加する
            innerPath.AddRectangle(new Rectangle(300, 300, 400, 200));

            // 内部パスを除外する
            region.Exclude(innerPath);

            // ソリッドブラシを定義する
            Brush brush = new SolidBrush(Color.Green);

            // 塗りつぶし領域
            graphics.FillRegion(brush, region);

            MemoryStream result = new MemoryStream();
            bitmap.Save(result, format);
            result.Seek(0, SeekOrigin.Begin);
            return result;
        }
    }
}
  • Pages\Index.cshtml を開き、その内容を次のスクリプトに置き換えます。
@page
@model IndexModel
@{
    ViewData["Title"] = "Home page";
}

<div class="text-center">
    <h1 class="display-4">Welcome</h1>
    
    <img src="@Model.imageSrc" />
</div>

Aspose.Drawing ライセンス ファイルを追加する

  • Aspose.Drawing ライセンス情報を含む Aspose.Drawing.NET.lic ファイルをプロジェクト ディレクトリにコピーします。ソリューション エクスプローラーからこのファイルのプロパティを開き、[ビルド アクション] を [埋め込みリソース] に設定します。

  • その後、Program.cs を開き、次のコードを追加して Aspose.Drawing ライセンスを設定します。

// ライセンス
System.Drawing.AsposeDrawing.ライセンス license = new System.Drawing.AsposeDrawing.ライセンス();
license.Setライセンス("Aspose.Drawing.NET.lic");
  • 最後に、アプリケーションを実行します。
出力

出力

ソースコードをダウンロードする

完全な ASP ソース コード .NET Web アプリケーションは GitHub からダウンロードできます。

無料ライセンスを取得する

ライブラリを制限なしで試したい場合は、無料の一時ライセンスを取得できます。

Aspose.Drawing – 無料の学習リソース

次のリソースを使用して、Aspose.Drawing ライブラリの他のさまざまな機能を探索できます。

結論

結論として、Aspose.Drawing は、動的で視覚的に魅力的なベクター グラフィックスを Web プロジェクトに組み込もうとしている ASP.NET Web 開発者にとって貴重な資産です。記載されている手順に従うことで、Aspose.Drawing を使用した Web 開発の新たな可能性が解き放たれます。不明な点がある場合は、無料サポート フォーラムまでお問い合わせください。

関連項目