A pure C# wrapper for the HTML Canvas API in Blazor applications with no JavaScript dependency.
Excubo.Blazor.Canvas is a C# wrapper library for the HTML Canvas API that allows Blazor developers to create and manipulate canvas graphics entirely in C# without writing JavaScript. It provides a type-safe, performant interface to draw shapes, text, images, and apply transformations directly from Blazor components.
Blazor developers building interactive graphics, data visualizations, games, or custom drawing interfaces who want to avoid mixing JavaScript with their C# codebase.
It eliminates the need for JavaScript in canvas operations, offers full IntelliSense support, batches calls for performance, and maintains API compatibility with the standard HTML canvas while being purely C#.
Excubo.Blazor.Canvas is a wrapper library that provides full access to the HTML Canvas API from C# in Blazor applications. It enables developers to create rich graphics and visualizations directly in their Blazor components without writing any JavaScript.
.JS property.The library prioritizes type safety, performance through batching, and a zero-JavaScript payload requirement, allowing Blazor developers to work entirely in C# while utilizing the full canvas API.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Provides a fully type-safe API with IntelliSense support, matching the HTML canvas specification to reduce errors, as emphasized in the design principles.
Optimizes performance by batching consecutive canvas operations into fewer JavaScript interop calls, minimizing overhead as described in the performance section.
Eliminates the need for any JavaScript code, allowing developers to work entirely in C# within Blazor workflows, per the library's zero-JavaScript payload goal.
Groups methods into logical categories like Shadows and Transformations for better intent clarity and easier navigation, using helper groups from Excubo.Generators.Grouping.
Despite batching, the reliance on Blazor's JavaScript interop can introduce latency, making it less ideal for high-frequency animations or real-time applications compared to native JavaScript.
Tightly coupled with Blazor and .NET versions; for example, version 3.0.0 dropped support for older frameworks, forcing migrations and potentially disrupting existing projects.
Cannot directly leverage popular JavaScript canvas libraries or tools, requiring developers to recreate functionality in C# or find complex workarounds for advanced features.