diff --git a/src/ImageSharp/Formats/PixelTypeInfo.cs b/src/ImageSharp/Formats/PixelTypeInfo.cs
index ed21b91bfc..66d04f39fd 100644
--- a/src/ImageSharp/Formats/PixelTypeInfo.cs
+++ b/src/ImageSharp/Formats/PixelTypeInfo.cs
@@ -1,6 +1,10 @@
// Copyright (c) Six Labors and contributors.
// Licensed under the Apache License, Version 2.0.
+using System.Runtime.CompilerServices;
+
+using SixLabors.ImageSharp.PixelFormats;
+
namespace SixLabors.ImageSharp.Formats
{
///
@@ -21,5 +25,9 @@ namespace SixLabors.ImageSharp.Formats
/// Gets color depth, in number of bits per pixel.
///
public int BitsPerPixel { get; }
+
+ internal static PixelTypeInfo Create()
+ where TPixel : struct, IPixel =>
+ new PixelTypeInfo(Unsafe.SizeOf() * 8);
}
}
diff --git a/src/ImageSharp/Image.Decode.cs b/src/ImageSharp/Image.Decode.cs
index 36944dc2c0..17a15a9160 100644
--- a/src/ImageSharp/Image.Decode.cs
+++ b/src/ImageSharp/Image.Decode.cs
@@ -14,7 +14,7 @@ namespace SixLabors.ImageSharp
///
/// Adds static methods allowing the decoding of new images.
///
- public static partial class Image
+ public abstract partial class Image
{
///
/// Creates an instance backed by an uninitialized memory buffer.
diff --git a/src/ImageSharp/Image.FromBytes.cs b/src/ImageSharp/Image.FromBytes.cs
index 7ceeea9498..24a169f6e9 100644
--- a/src/ImageSharp/Image.FromBytes.cs
+++ b/src/ImageSharp/Image.FromBytes.cs
@@ -11,7 +11,7 @@ namespace SixLabors.ImageSharp
///
/// Adds static methods allowing the creation of new image from a byte array.
///
- public static partial class Image
+ public abstract partial class Image
{
///
/// By reading the header on the provided byte array this calculates the images format.
diff --git a/src/ImageSharp/Image.FromFile.cs b/src/ImageSharp/Image.FromFile.cs
index 80267146d5..0b49668862 100644
--- a/src/ImageSharp/Image.FromFile.cs
+++ b/src/ImageSharp/Image.FromFile.cs
@@ -11,7 +11,7 @@ namespace SixLabors.ImageSharp
///
/// Adds static methods allowing the creation of new image from a given file.
///
- public static partial class Image
+ public abstract partial class Image
{
///
/// By reading the header on the provided file this calculates the images mime type.
diff --git a/src/ImageSharp/Image.FromStream.cs b/src/ImageSharp/Image.FromStream.cs
index 8848225f54..b16501b0f2 100644
--- a/src/ImageSharp/Image.FromStream.cs
+++ b/src/ImageSharp/Image.FromStream.cs
@@ -13,7 +13,7 @@ namespace SixLabors.ImageSharp
///
/// Adds static methods allowing the creation of new image from a given stream.
///
- public static partial class Image
+ public abstract partial class Image
{
///
/// By reading the header on the provided stream this calculates the images mime type.
diff --git a/src/ImageSharp/Image.LoadPixelData.cs b/src/ImageSharp/Image.LoadPixelData.cs
index 282f980865..eb7ce261f8 100644
--- a/src/ImageSharp/Image.LoadPixelData.cs
+++ b/src/ImageSharp/Image.LoadPixelData.cs
@@ -11,7 +11,7 @@ namespace SixLabors.ImageSharp
///
/// Adds static methods allowing the creation of new image from raw pixel data.
///
- public static partial class Image
+ public abstract partial class Image
{
///
/// Create a new instance of the class from the raw data.
diff --git a/src/ImageSharp/Image.WrapMemory.cs b/src/ImageSharp/Image.WrapMemory.cs
index 3d788bb73a..49bc99e9ee 100644
--- a/src/ImageSharp/Image.WrapMemory.cs
+++ b/src/ImageSharp/Image.WrapMemory.cs
@@ -13,7 +13,7 @@ namespace SixLabors.ImageSharp
///
/// Adds static methods allowing wrapping an existing memory area as an image.
///
- public static partial class Image
+ public abstract partial class Image
{
///
/// Wraps an existing contiguous memory area of 'width' x 'height' pixels,
diff --git a/src/ImageSharp/ImageSharp.csproj b/src/ImageSharp/ImageSharp.csproj
index a124ddcacd..f780ca666a 100644
--- a/src/ImageSharp/ImageSharp.csproj
+++ b/src/ImageSharp/ImageSharp.csproj
@@ -10,7 +10,10 @@
$(packageversion)
0.0.1
- netcoreapp2.1;netstandard1.3;netstandard2.0;net472
+
+
+ netcoreapp2.1
+
true
true
SixLabors.ImageSharp
diff --git a/src/ImageSharp/Image{TPixel}.cs b/src/ImageSharp/Image{TPixel}.cs
index e37f3e4c1c..ea6d0beb25 100644
--- a/src/ImageSharp/Image{TPixel}.cs
+++ b/src/ImageSharp/Image{TPixel}.cs
@@ -128,10 +128,10 @@ namespace SixLabors.ImageSharp
public PixelTypeInfo PixelType { get; }
///
- public int Width => this.Frames.RootFrame.Width;
+ public override int Width => this.Frames.RootFrame.Width;
///
- public int Height => this.Frames.RootFrame.Height;
+ public override int Height => this.Frames.RootFrame.Height;
///
public ImageMetadata Metadata { get; }
@@ -197,7 +197,7 @@ namespace SixLabors.ImageSharp
}
///
- public void Dispose() => this.Frames.Dispose();
+ public override void Dispose() => this.Frames.Dispose();
internal override void AcceptVisitor(IImageVisitor visitor)
{