FlagKit.Net
0.2.0
dotnet add package FlagKit.Net --version 0.2.0
NuGet\Install-Package FlagKit.Net -Version 0.2.0
<PackageReference Include="FlagKit.Net" Version="0.2.0" />
<PackageVersion Include="FlagKit.Net" Version="0.2.0" />
<PackageReference Include="FlagKit.Net" />
paket add FlagKit.Net --version 0.2.0
#r "nuget: FlagKit.Net, 0.2.0"
#:package FlagKit.Net@0.2.0
#addin nuget:?package=FlagKit.Net&version=0.2.0
#tool nuget:?package=FlagKit.Net&version=0.2.0
FlagKit.Net
FlagKit.Net packages the assets from madebybowtie/FlagKit for .NET. It embeds the upstream SVG and PNG flag files and exposes a small API shaped after the original Swift API.
using FlagKit;
var countryCode = RegionInfo.CurrentRegion.TwoLetterISORegionName;
var flag = Flag.FromCountryCode(countryCode);
var typedFlag = Flag.FromCountry(FlagCountry.SE);
var originalImage = flag?.OriginalImage;
var styledImage = flag?.Image(FlagStyle.Circle);
var largeRounded = flag?.Image(FlagStyle.RoundedRect, new FlagSize(84, 60));
API
var flag = Flag.FromCountryCode("SE");
var typedFlag = Flag.FromCountry(FlagCountry.SE);
// Original unstyled PNG, equivalent to Swift's originalImage.
FlagImage original = flag!.OriginalImage;
// Strongly typed country codes use FlagCountry enum values.
FlagImage typedOriginal = typedFlag.OriginalImage;
FlagImage scotland = Flag.FromCountry(FlagCountry.GB_SCT).SvgImage();
FlagImage zetland = Flag.FromCountry(FlagCountry.GB_ZET).PngImage(FlagScale.ThreeX);
// Styled PNG variants matching FlagKit's none, roundedRect, square, circle styles.
FlagImage none = flag.Image(FlagStyle.None);
FlagImage rounded = flag.Image(FlagStyle.RoundedRect);
FlagImage square = flag.Image(FlagStyle.Square);
FlagImage circle = flag.Image(FlagStyle.Circle);
// Custom output size.
FlagImage largeCircle = flag.Image(FlagStyle.Circle, new FlagSize(64, 64));
// Access embedded assets directly.
using Stream svg = Assets.OpenStream("SE", FlagFormat.Svg)!;
using Stream png2x = Assets.OpenStream("SE", FlagFormat.Png, FlagScale.TwoX)!;
using Stream typedSvg = Assets.OpenStream(FlagCountry.GB_ZET, FlagFormat.Svg);
Flag.Image(FlagStyle.None) returns PNG output. Styled output is rendered with Magick.NET from the upstream PNG assets. The default logical dimensions match FlagKit: None and RoundedRect are 21 x 15, Square and Circle are 15 x 15. Use Image(style, size) to render another PNG size.
For Avalonia:
using Avalonia.Media.Imaging;
using FlagKit;
var flag = Flag.FromCountryCode("SE");
using var stream = flag!.Image(FlagStyle.Circle, new FlagSize(30, 30)).OpenStream();
var bitmap = new Bitmap(stream);
Assets
The package includes 255 SVG flags and PNG variants at 1x, 2x, and 3x scale from the upstream FlagKit repository.
License
FlagKit.Net is distributed under the MIT license. The embedded flag assets come from madebybowtie/FlagKit, also MIT licensed.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. 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. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- Magick.NET-Q8-AnyCPU (>= 14.13.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Add strongly typed flag APIs through the FlagCountry enum, including regional codes such as GB-ZET.