Skip to content

Commit bc8787c

Browse files
committed
Add new SVG asset for canvas image in documentation
1 parent d1efdc0 commit bc8787c

8 files changed

Lines changed: 38 additions & 17 deletions

File tree

Lines changed: 14 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
using SixLabors.ImageSharp.Processing;
1+
using System.Reflection;
22
using Spectre.Console;
33

44
namespace Spectre.Docs.Examples.Showcase;
@@ -7,20 +7,18 @@ internal class CanvasImageSample : BaseSample
77
{
88
public override void Run(IAnsiConsole console)
99
{
10-
var image = new CanvasImage("../../../examples/Console/Canvas/cake.png");
11-
image.MaxWidth(16);
12-
console.Write(image);
13-
}
14-
}
10+
var assembly = Assembly.GetExecutingAssembly();
11+
using var stream = assembly.GetManifestResourceStream("Spectre.Docs.Examples.spectre-logo.png")!;
12+
using var ms = new MemoryStream();
13+
stream.CopyTo(ms);
1514

16-
internal class CanvasImageManipulationSample : BaseSample
17-
{
18-
public override void Run(IAnsiConsole console)
19-
{
20-
var image = new CanvasImage("../../../examples/Console/Canvas/cake.png");
21-
image.MaxWidth(24);
22-
image.BilinearResampler();
23-
image.Mutate(ctx => ctx.Grayscale().Rotate(-45).EntropyCrop());
24-
console.Write(image);
15+
var image = new CanvasImage(ms.ToArray());
16+
image.MaxWidth(22);
17+
18+
var panel = new Panel(image).Padding(8,1,8,1)
19+
.Header("[yellow]Canvas Image[/]")
20+
.BorderColor(Color.Blue);
21+
22+
console.Write(panel);
2523
}
26-
}
24+
}

Spectre.Docs.Examples/Spectre.Docs.Examples.csproj

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,4 +15,9 @@
1515
<PackageReference Include="Spectre.Console.ImageSharp" Version="0.54.1-alpha.0.7" />
1616
<PackageReference Include="Spectre.Console.Json" Version="0.54.1-alpha.0.7" />
1717
</ItemGroup>
18+
19+
<ItemGroup>
20+
<None Remove="spectre-logo.png" />
21+
<EmbeddedResource Include="spectre-logo.png" />
22+
</ItemGroup>
1823
</Project>
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
Set DisableCursor true
2+
Set FontSize 22
3+
Set Theme "one dark"
4+
Set TransparentBackground "true"
5+
Set Cols 82
6+
Set Rows 20
7+
Set EndBuffer 2s
8+
9+
Exec "dotnet run --project .\Spectre.Docs.Examples\ --no-build showcase canvas-image"
10+
Wait
11+
Screenshot "Spectre.Docs/Content/assets/canvas-image.svg"
18.5 KB
Loading

Spectre.Docs/Content/assets/canvas-image.svg

Lines changed: 1 addition & 0 deletions
Loading

Spectre.Docs/Content/assets/canvas.svg

Lines changed: 1 addition & 1 deletion
Loading

Spectre.Docs/Content/console/widgets/canvas-image.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,9 @@ The CanvasImage widget loads and displays image files in the console by converti
1212
> part of Spectre.Console. The Six Labors Split License covers all other usage,
1313
> see: https://github.com/SixLabors/ImageSharp/blob/master/LICENSE
1414
15+
<Screenshot src="/assets/canvas-image.svg" />
16+
17+
1518
## When to Use
1619

1720
Use CanvasImage when you need to **display visual content from image files** in your console application. Common

Spectre.Docs/Content/console/widgets/canvas.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,9 @@ order: 3850
77

88
The Canvas widget enables pixel-level drawing in the console, where you can set individual pixels with specific colors to create graphics, patterns, and visualizations.
99

10+
<Screenshot src="/assets/canvas.svg" />
11+
12+
1013
## When to Use
1114

1215
Use Canvas when you need to **create custom graphics or visualizations** at the pixel level. Common scenarios:

0 commit comments

Comments
 (0)