RazorCameraLibrary 1.0.1
Please use the built-in Dynamsoft JavaScript SDK directly within your Blazor project to access the full range of functionalities.
dotnet add package RazorCameraLibrary --version 1.0.1
NuGet\Install-Package RazorCameraLibrary -Version 1.0.1
<PackageReference Include="RazorCameraLibrary" Version="1.0.1" />
paket add RazorCameraLibrary --version 1.0.1
#r "nuget: RazorCameraLibrary, 1.0.1"
// Install RazorCameraLibrary as a Cake Addin #addin nuget:?package=RazorCameraLibrary&version=1.0.1 // Install RazorCameraLibrary as a Cake Tool #tool nuget:?package=RazorCameraLibrary&version=1.0.1
Razor Camera Library
A Razor Class Library built using the Dynamsoft JavaScript Camera Enhancer SDK, which provides a simple way to integrate camera access into Blazor applications.
Online Demo
https://yushulx.me/Razor-Camera-Library/
Quick Usage
Import and initialize the Razor Camera Library.
@using RazorCameraLibrary <div id="videoContainer"></div> @code { private CameraJsInterop? cameraJsInterop; private CameraEnhancer? cameraEnhancer; protected override async Task OnInitializedAsync() { cameraJsInterop = new CameraJsInterop(JSRuntime); await cameraJsInterop.LoadJS(); cameraEnhancer = await cameraJsInterop.CreateCameraEnhancer(); await cameraEnhancer.SetVideoElement("videoContainer"); } }
Get a list of available cameras.
List<Camera> cameras = await cameraEnhancer.GetCameras();
Set the camera resolution.
await cameraEnhancer.SetResolution(640, 480);
Open a camera.
await cameraEnhancer.OpenCamera(cameras[0]);
Acquire a camera frame for image processing.
IJSObjectReference canvas = await cameraEnhancer.AcquireCameraFrame();
Draw shapes on the camera overlay.
await cameraEnhancer.DrawLine(0, 0, 100, 100); await cameraEnhancer.DrawText("Hello World", 0, 0);
Clear the camera overlay.
await cameraEnhancer.ClearOverlay();
API
Camera Class
Represents a camera device with its device ID and label.
CameraJsInterop Class
Task LoadJS()
: Loads and initializes the JavaScript module.Task<CameraEnhancer> CreateCameraEnhancer()
: Creates a new CameraEnhancer instance.
CameraEnhancer Class
Task<List<Camera>> GetCameras()
: Gets a list of available cameras.Task SetVideoElement(string elementId)
: Sets a div element as the video container.Task OpenCamera(Camera camera)
: Opens a camera.Task CloseCamera()
: Closes the current camera.Task SetResolution(int width, int height)
: Sets the resolution of the camera.Task<IJSObjectReference> AcquireCameraFrame()
: Acquires a frame from the camera and returns a JavaScript canvas object reference.Task DrawLine(int x1, int y1, int x2, int y2)
: Draws a line on the camera overlay.Task DrawText(string text, int x, int y)
: Draws text on the camera overlay.Task ClearOverlay()
: Clears the camera overlay.
Example
Build
cd RazorCameraLibrary
dotnet build --configuration Release
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net7.0 is compatible. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. 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. |
-
net7.0
- Microsoft.AspNetCore.Components.Web (>= 7.0.11)
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 |
---|
- Added overlay drawing API.