SRI.Core
0.0.1
dotnet add package SRI.Core --version 0.0.1
NuGet\Install-Package SRI.Core -Version 0.0.1
<PackageReference Include="SRI.Core" Version="0.0.1" />
paket add SRI.Core --version 0.0.1
#r "nuget: SRI.Core, 0.0.1"
// Install SRI.Core as a Cake Addin #addin nuget:?package=SRI.Core&version=0.0.1 // Install SRI.Core as a Cake Tool #tool nuget:?package=SRI.Core&version=0.0.1
ScalableRelativeImage
An implementation of vector image, using a markup language which is based on XML and the syntax is like XAML.
This library/software is still in active development, all things may change without proper notification.
Library
The main library is ScalableRelativeImage
. To use it, just refer it to your project.
Resolve the vector image and render it.
The use of it is quite simple, use SRIEngine.Deserialize(string Content,out List<ExecutionWarning> warnings)
and you can obtain an abstract image.
o get the final picture, you need to use Render(RendProfile profile)
.
Here is an example:
var image = SRIAnalyzer.Parse("", out _);
var bitmap = image.Render(new RenderProfile() { TargetWidth = 1920, TargetHeight = 1080 });
Create a vector image and get the XML text
To do it, you need to create an ImageNodeRoot
and use SRIEngine.SerializeToString(ImageNodeRoot imageRoot)
to obtain the XML text.
Here is an example:
ImageNodeRoot image = new ImageNodeRoot();
image.RelativeWidth = 192;
image.RelativeHeight = 108;
{
Text text = new Text();
text.X = 1;
text.Y = 1;
text.Width = 15;
text.Height = 5;
text.Content = "Hello, world!";
text.FontFamily = "Arial";
text.RelativeFontSize=0.2f;
image.AddNode(text);
}
var XMLOutcome=SRIEngine.SerializeToString(image);
Console.WriteLine(XMLOutcome);
The result should be
<?xml version="1.0" encoding="utf-16"?>
<ScalableRelativeImage Flavor="CreeperLv.SRI" FormatVersion="1.0.0.0">
<ImageNodeRoot RelativeWidth="192" RelativeHeight="108">
<Text Content="Hello, world!" FontFamily="Arial" FontStyle="Regular" Size="0.2" X="1" Y="1" Width="15" Height="5" />
</ImageNodeRoot>
</ScalableRelativeImage>
CLI Tool
Currently, the CLI tool I made works like a compiler. It directly reads a SRI file and render then write it to a pixel format file.
Example:
ScalableRelativeImage.CLI.exe --S Example.SRI --W 1920 --H 1080 --F White --B Black --O Example.png
Extend Shapes
This is quite sample. If you wish to add a shape that is not in SRI library, just create a libaray targeting net5.0
then create a class which implements INode
.
To use your own shape, we assume your shapes are in a library named foo.dll
, when using the CLI tool, added --E foo.dll
in your command line arguments.
Example Command Line:
ScalableRelativeImage.CLI.exe --S Example.SRI --W 1920 --H 1080 --F White --B Black --O Example.png --E foo.dll
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
- System.Drawing.Common (>= 5.0.3)
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 |
---|---|---|
0.0.1 | 242 | 4/8/2022 |
See github for changes.