Chronos.Blazor.Cropper
1.0.2
See the version list below for details.
dotnet add package Chronos.Blazor.Cropper --version 1.0.2
NuGet\Install-Package Chronos.Blazor.Cropper -Version 1.0.2
<PackageReference Include="Chronos.Blazor.Cropper" Version="1.0.2" />
paket add Chronos.Blazor.Cropper --version 1.0.2
#r "nuget: Chronos.Blazor.Cropper, 1.0.2"
// Install Chronos.Blazor.Cropper as a Cake Addin #addin nuget:?package=Chronos.Blazor.Cropper&version=1.0.2 // Install Chronos.Blazor.Cropper as a Cake Tool #tool nuget:?package=Chronos.Blazor.Cropper&version=1.0.2
Blazor.Cropper
A blazor library provide a component to crop image
=>
It is:
- almost full c#
- mobile compatible
- lighweight
- support proportion
- GIF crop support(only for files smaller than 1mb)
For a long time, crop image in blazor bother me a lot. That's why I tried to implement a cropper in blazor.
Usage
to use it, you should first paste following code into your index.html:
<script src="_content/Chronos.Blazor.Cropper/CropHelper.js"></script>
Then, you can install our nuget pkg and use it like follow:
@page "/cropper"
@inject IJSRuntime JSRuntime;
<h1>Cropper</h1>
<InputFile id="input1" OnChange="OnInputFileChange"></InputFile>
@if (parsing)
{
<center>
<h2>@prompt</h2>
</center>
}
@if (!string.IsNullOrEmpty(imgUrl)&&!parsing)
{
<center>
<h2>Crop Result:</h2>
<img src="@imgUrl" />
</center>
}
@if (file != null)
{
<Cropper InputId="input1" ImageFile="file" OnCrop="@OnCropedAsync"></Cropper>
}
@code {
IBrowserFile file;
string imgUrl = "";
Image image;
string prompt = "Image cropped! Parsing to base64...";
bool parsing = false;
void OnInputFileChange(InputFileChangeEventArgs args)
{
image?.Dispose();
file = args.File;
}
async Task OnCropedAsync(ImageCroppedEventArgs args)
{
parsing = true;
base.StateHasChanged();
await Task.Delay(10);// a hack, otherwise prompt won't show
image?.Dispose();
await JSRuntime.InvokeVoidAsync("console.log", "converted!");
image = args.Image;
imgUrl = args.Image.ToBase64String(args.Format);
parsing = false;
}
}
For more details, see the sample project.
To build it, simply clone it and run it in visual studio. The running result should be like this:
Note
In many cases, I found It's really slow to convert image data to base64 format and set it as img src in blazor(many times slower than image crop process). So I stronly recommend you to avoid doing this in blazor.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 is compatible. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. 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. |
-
net5.0
- Microsoft.AspNetCore.Components.Web (>= 5.0.0-rc.1.20451.17)
- SixLabors.ImageSharp (>= 1.0.1)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories (1)
Showing the top 1 popular GitHub repositories that depend on Chronos.Blazor.Cropper:
Repository | Stars |
---|---|
CnGal/CnGalWebSite
CnGal是一个非营利性的,立志于收集整理国内制作组创作的中文Galgame/AVG的介绍、攻略、评测、感想等内容的资料性质的网站。
|
Version | Downloads | Last updated | |
---|---|---|---|
1.2.16 | 13,642 | 8/20/2023 | |
1.2.15 | 508 | 8/20/2023 | |
1.2.14 | 19,642 | 1/5/2023 | |
1.2.13 | 16,438 | 10/8/2022 | |
1.2.12 | 8,263 | 9/19/2022 | |
1.2.11 | 1,452 | 8/20/2022 | |
1.2.10 | 885 | 8/17/2022 | |
1.2.7 | 2,471 | 6/24/2022 | |
1.2.6 | 1,351 | 6/15/2022 | |
1.2.5 | 1,069 | 5/27/2022 | |
1.2.4 | 815 | 5/27/2022 | |
1.2.3 | 901 | 5/25/2022 | |
1.2.2 | 8,651 | 3/17/2022 | |
1.2.1 | 907 | 3/16/2022 | |
1.2.0 | 2,885 | 11/12/2021 | |
1.1.8 | 917 | 10/21/2021 | |
1.1.7 | 789 | 10/17/2021 | |
1.1.6 | 1,125 | 8/1/2021 | |
1.1.5 | 798 | 8/1/2021 | |
1.1.4 | 1,052 | 6/1/2021 | |
1.1.2 | 1,328 | 11/18/2020 | |
1.1.1 | 909 | 11/18/2020 | |
1.1.0 | 851 | 11/18/2020 | |
1.0.7 | 940 | 11/18/2020 | |
1.0.6 | 816 | 11/18/2020 | |
1.0.5 | 397 | 9/27/2020 | |
1.0.4 | 269 | 9/26/2020 | |
1.0.3 | 442 | 9/26/2020 | |
1.0.2 | 246 | 9/21/2020 | |
1.0.1 | 278 | 9/21/2020 | |
1.0.0 | 292 | 9/20/2020 |