KristofferStrube.Blazor.SVGEditor
0.1.0
Prefix Reserved
There is a newer version of this package available.
See the version list below for details.
See the version list below for details.
dotnet add package KristofferStrube.Blazor.SVGEditor --version 0.1.0
NuGet\Install-Package KristofferStrube.Blazor.SVGEditor -Version 0.1.0
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="KristofferStrube.Blazor.SVGEditor" Version="0.1.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add KristofferStrube.Blazor.SVGEditor --version 0.1.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: KristofferStrube.Blazor.SVGEditor, 0.1.0"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install KristofferStrube.Blazor.SVGEditor as a Cake Addin #addin nuget:?package=KristofferStrube.Blazor.SVGEditor&version=0.1.0 // Install KristofferStrube.Blazor.SVGEditor as a Cake Tool #tool nuget:?package=KristofferStrube.Blazor.SVGEditor&version=0.1.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
KristofferStrube.Blazor.SVGEditor
A basic HTML SVG Editor written in Blazor WASM.
Demo
The project can be demoed at https://kristofferstrube.github.io/Blazor.SVGEditor/
Tag type support and attributes
- RECT (x, y, width, height, fill, stroke, stroke-width, stroke-linecap, stroke-linejoin, stroke-offset)
- CIRCLE (cx, cy, r, fill, stroke, stroke-width, stroke-linecap, stroke-linejoin, stroke-offset)
- ELLIPSE (cx, cy, rx, ry, fill, stroke, stroke-width, stroke-linecap, stroke-linejoin, stroke-offset)
- POLYGON (points, fill, stroke, stroke-width, stroke-linecap, stroke-linejoin, stroke-offset)
- POLYLINE (points, fill, stroke, stroke-width, stroke-linecap, stroke-linejoin, stroke-offset)
- LINE (x1, y1, x2, y2, fill, stroke, stroke-width, stroke-linecap, stroke-linejoin, stroke-offset)
- TEXT (x, y, style:(font-size,font-weight,font-family), fill, stroke, stroke-width, stroke-linecap, stroke-linejoin, stroke-offset)
- PATH (d, fill, stroke, stroke-width, stroke-linecap, stroke-linejoin, stroke-offset)
- Movements
- Lines
- Vertical Lines
- Horizontal Lines
- Close Path
- Cubic Bézier Curve
- Shorthand aswell
- Quadratic Bézier Curve
- Shorthand aswell
- Elliptical Arc Curve
- Needs more work for radi interaction
- G (fill, stroke, stroke-width, stroke-linecap, stroke-linejoin, stroke-offset)
- Missing scaling of children
- ANIMATE
- Support for showing all Animate tags when Playing
- Support for editing Fill animation values
- Support for editing Stroke animation values
- Support for editing Stroke Offset values
- LINEARGRADIENT (x1, x2, y1, y2, and stops)
Current goals
- Add support for touch devices
- Support errors better to recover instead of crashing on malformed SVG
- Support more browsers using style attribute.
graph LR;
subgraph Shapes
Circle
Ellipse
Line
Text
Path
Polygon
Polyline
Rect
G
end
subgraph Path Instructions
ClosePathInstruction
CubicBézierCurveInstruction
EllipticalArcInstruction
HorizontalLineInstruction
LineInstruction
MoveInstruction
QuadraticBézierCurveInstruction
ShorthandCubicBézierCurveInstruction
ShorthandQuadraticBézierCurveInstruction
VerticalLineInstruction
end
ISVGElement[[ISVGElement]]
Shape[[Shape]]
BasePathInstruction[[BasePathInstruction]]
BaseControlPointPathInstruction[[BaseControlPointPathInstruction]]
IPathInstruction[[IPathInstruction]]
Shape-.->ISVGElement;
SVG------ISVGElement
G---ISVGElement;
Path-.->Shape;
Path-----IPathInstruction
G-.->Shape;
Circle-.->Shape;
Ellipse-.->Shape;
Line-.->Shape;
Text-.->Shape;
Polygon-.->Shape;
Polyline-.->Shape;
Rect-.->Shape;
ClosePathInstruction-->BasePathInstruction
CubicBézierCurveInstruction-->BaseControlPointPathInstruction
EllipticalArcInstruction-->BasePathInstruction
HorizontalLineInstruction-->BasePathInstruction
LineInstruction-->BasePathInstruction
MoveInstruction-->BasePathInstruction
QuadraticBézierCurveInstruction-->BaseControlPointPathInstruction
ShorthandCubicBézierCurveInstruction-->BaseControlPointPathInstruction
ShorthandQuadraticBézierCurveInstruction-->BaseControlPointPathInstruction
VerticalLineInstruction-->BasePathInstruction
BaseControlPointPathInstruction-->BasePathInstruction
BasePathInstruction-->IPathInstruction
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. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net7.0
- AngleSharp (>= 1.0.0)
- Blazor.ContextMenu (>= 1.15.0)
- BlazorColorPicker (>= 2.3.0)
- KristofferStrube.Blazor.SVGAnimation (>= 0.1.0)
- Microsoft.AspNetCore.Components.Web (>= 7.0.2)
- System.Reactive.Linq (>= 5.0.0)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on KristofferStrube.Blazor.SVGEditor:
Package | Downloads |
---|---|
KristofferStrube.Blazor.GraphEditor
A Graph Editor for Blazor built with SVGs. |
GitHub repositories (2)
Showing the top 2 popular GitHub repositories that depend on KristofferStrube.Blazor.SVGEditor:
Repository | Stars |
---|---|
KristofferStrube/Blazor.WebAudio
A Blazor wrapper for the Web Audio browser API.
|
|
KristofferStrube/Blazor.GraphEditor
A simple graph editor for Blazor.
|