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. 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. |
-
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 | 15,290 | 8/20/2023 | |
1.2.15 | 513 | 8/20/2023 | |
1.2.14 | 22,620 | 1/5/2023 | |
1.2.13 | 16,484 | 10/8/2022 | |
1.2.12 | 8,271 | 9/19/2022 | |
1.2.11 | 1,459 | 8/20/2022 | |
1.2.10 | 892 | 8/17/2022 | |
1.2.7 | 2,793 | 6/24/2022 | |
1.2.6 | 1,358 | 6/15/2022 | |
1.2.5 | 1,077 | 5/27/2022 | |
1.2.4 | 822 | 5/27/2022 | |
1.2.3 | 908 | 5/25/2022 | |
1.2.2 | 8,902 | 3/17/2022 | |
1.2.1 | 915 | 3/16/2022 | |
1.2.0 | 2,916 | 11/12/2021 | |
1.1.8 | 924 | 10/21/2021 | |
1.1.7 | 797 | 10/17/2021 | |
1.1.6 | 1,133 | 8/1/2021 | |
1.1.5 | 806 | 8/1/2021 | |
1.1.4 | 1,088 | 6/1/2021 | |
1.1.2 | 1,334 | 11/18/2020 | |
1.1.1 | 924 | 11/18/2020 | |
1.1.0 | 858 | 11/18/2020 | |
1.0.7 | 948 | 11/18/2020 | |
1.0.6 | 822 | 11/18/2020 | |
1.0.5 | 405 | 9/27/2020 | |
1.0.4 | 276 | 9/26/2020 | |
1.0.3 | 450 | 9/26/2020 | |
1.0.2 | 253 | 9/21/2020 | |
1.0.1 | 285 | 9/21/2020 | |
1.0.0 | 300 | 9/20/2020 |