Blazorex 1.1.3
dotnet add package Blazorex --version 1.1.3
NuGet\Install-Package Blazorex -Version 1.1.3
<PackageReference Include="Blazorex" Version="1.1.3" />
paket add Blazorex --version 1.1.3
#r "nuget: Blazorex, 1.1.3"
// Install Blazorex as a Cake Addin #addin nuget:?package=Blazorex&version=1.1.3 // Install Blazorex as a Cake Tool #tool nuget:?package=Blazorex&version=1.1.3
Blazorex
Description
Blazorex is an HTML Canvas wrapper library for Blazor.
It has some interesting functionalities like:
- multiple canvases
- background rendering
- image rendering
- procedural image generation (yes, the fire on the background is fully procedural! Thanks filipedeschamps for the awesome repository showing how to render the Doom fire! )
Installation
Blazorex can be installed as Nuget package: https://www.nuget.org/packages/Blazorex/
Usage
Simple scenario
Just add the Canvas
Component to your Razor page and register to the OnCanvasReady
to receive the CanvasBase
instance.
Then use OnFrameReady
to define your update/render logic:
<Canvas Width="800" Height="600"
OnFrameReady="(t) => OnFrameReady(t)"
OnCanvasReady="(ctx) => OnCanvasReady(ctx)" />
@code{
CanvasBase _canvas;
private void OnCanvasReady(CanvasBase canvas)
{
_canvas = canvas;
}
private void OnFrameReady(float timeStamp)
{
// your render logic goes here
}
}
You might also need to update your index.html
to include the library's CSS:
<head>
<link href="_content/Blazorex/blazorex.css" rel="stylesheet" />
</head>
Multiple Canvases
In case you want to have multiple canvases on the same page, you can use the CanvasManager
component instead:
<CanvasManager @ref="_canvasManager" />
@code{
CanvasManager _canvasManager;
protected override async Task OnAfterRenderAsync(bool firstRender)
{
if (!firstRender)
return;
_canvasManager.CreateCanvas("myCanvas", new CanvasCreationOptions()
{
Width = 800,
Height = 600,
Hidden = false,
OnCanvasReady = this.OnMyCanvasReady,
OnFrameReady = this.OnMyCanvasFrameReady,
});
}
}
You simply have to get a reference to the CanvasManager
and then call the CreateCanvas
passing an instance of CanvasCreationOptions
with the desired parameters.
For a complete list of options for Canvas initialization, see here.
The ./samples folder contains some examples of how to setup the canvas and draw some cool stuff 😃
A sample game can be found here: Blazeroids
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. |
-
net8.0
- Microsoft.AspNetCore.Components.Web (>= 8.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
1.1.3 | 0 | 1/20/2025 |
1.1.2 | 134 | 12/16/2024 |
1.1.1 | 111 | 11/19/2024 |
1.1.0 | 116 | 9/25/2024 |
1.0.4 | 374 | 6/27/2024 |
1.0.3 | 246 | 12/31/2023 |
1.0.2 | 215 | 9/5/2023 |
1.0.1 | 228 | 6/13/2023 |
1.0.0 | 179 | 6/13/2023 |
0.0.5 | 535 | 10/3/2022 |
0.0.4 | 462 | 10/3/2022 |
0.0.3 | 450 | 9/19/2022 |
0.0.2 | 446 | 9/19/2022 |
0.0.1 | 463 | 9/19/2022 |