1+ // Copyright (c) Six Labors.
2+ // Licensed under the Apache License, Version 2.0.
3+
14using System ;
25using System . Collections . Generic ;
36using System . Numerics ;
47using SixLabors . ImageSharp ;
8+ using SixLabors . ImageSharp . Drawing ;
9+ using SixLabors . ImageSharp . Drawing . Processing ;
510using SixLabors . ImageSharp . PixelFormats ;
611using SixLabors . ImageSharp . Processing ;
712
@@ -16,13 +21,15 @@ public static void SaveLogo(float size, string path)
1621
1722 var center = new Vector2 ( 603 ) ;
1823
19- // segment whose center of rotation should be
24+ // segment whose center of rotation should be
2025 var segmentOffset = new Vector2 ( 301.16968f , 301.16974f ) ;
21- IPath segment = new Polygon ( new LinearLineSegment ( new Vector2 ( 230.54f , 361.0261f ) , new System . Numerics . Vector2 ( 5.8641942f , 361.46031f ) ) ,
22- new CubicBezierLineSegment ( new Vector2 ( 5.8641942f , 361.46031f ) ,
23- new Vector2 ( - 11.715693f , 259.54052f ) ,
24- new Vector2 ( 24.441609f , 158.17478f ) ,
25- new Vector2 ( 78.26f , 97.0461f ) ) ) . Translate ( center - segmentOffset ) ;
26+ IPath segment = new Polygon (
27+ new LinearLineSegment ( new Vector2 ( 230.54f , 361.0261f ) , new Vector2 ( 5.8641942f , 361.46031f ) ) ,
28+ new CubicBezierLineSegment (
29+ new Vector2 ( 5.8641942f , 361.46031f ) ,
30+ new Vector2 ( - 11.715693f , 259.54052f ) ,
31+ new Vector2 ( 24.441609f , 158.17478f ) ,
32+ new Vector2 ( 78.26f , 97.0461f ) ) ) . Translate ( center - segmentOffset ) ;
2633
2734 // we need to create 6 of theses all rotated about the center point
2835 var segments = new List < IPath > ( ) ;
@@ -33,23 +40,24 @@ public static void SaveLogo(float size, string path)
3340 segments . Add ( s ) ;
3441 }
3542
36- var colors = new List < Rgba32 > ( ) {
37- Rgba32 . FromHex ( "35a849" ) ,
38- Rgba32 . FromHex ( "fcee21" ) ,
39- Rgba32 . FromHex ( "ed7124" ) ,
40- Rgba32 . FromHex ( "cb202d" ) ,
41- Rgba32 . FromHex ( "5f2c83" ) ,
42- Rgba32 . FromHex ( "085ba7" ) ,
43+ var colors = new List < Color > ( )
44+ {
45+ Color . ParseHex ( "35a849" ) ,
46+ Color . ParseHex ( "fcee21" ) ,
47+ Color . ParseHex ( "ed7124" ) ,
48+ Color . ParseHex ( "cb202d" ) ,
49+ Color . ParseHex ( "5f2c83" ) ,
50+ Color . ParseHex ( "085ba7" ) ,
4351 } ;
4452
4553 var scaler = Matrix3x2 . CreateScale ( scalingFactor , Vector2 . Zero ) ;
4654
4755 int dimensions = ( int ) Math . Ceiling ( size ) ;
4856 using ( var img = new Image < Rgba32 > ( dimensions , dimensions ) )
4957 {
50- img . Mutate ( i => i . Fill ( Rgba32 . Black ) ) ;
51- img . Mutate ( i => i . Fill ( Rgba32 . FromHex ( "e1e1e1ff" ) , new EllipsePolygon ( center , 600f ) . Transform ( scaler ) ) ) ;
52- img . Mutate ( i => i . Fill ( Rgba32 . White , new EllipsePolygon ( center , 600f - 60 ) . Transform ( scaler ) ) ) ;
58+ img . Mutate ( i => i . Fill ( Color . Black ) ) ;
59+ img . Mutate ( i => i . Fill ( Color . ParseHex ( "e1e1e1ff" ) , new EllipsePolygon ( center , 600f ) . Transform ( scaler ) ) ) ;
60+ img . Mutate ( i => i . Fill ( Color . White , new EllipsePolygon ( center , 600f - 60 ) . Transform ( scaler ) ) ) ;
5361
5462 for ( int s = 0 ; s < 6 ; s ++ )
5563 {
0 commit comments