diff --git a/GalleryShare/GalleryServer.cs b/GalleryShare/GalleryServer.cs
index cd0bf4a..1f1f151 100644
--- a/GalleryShare/GalleryServer.cs
+++ b/GalleryShare/GalleryServer.cs
@@ -9,7 +9,7 @@ using System.Threading;
 using System.Xml;
 using System.Reflection;
 
-using ImageMagick;
+using System.Drawing;
 
 namespace GalleryShare
 {
@@ -27,8 +27,7 @@ namespace GalleryShare
 
 		int port;
 		string servingDirectory = Environment.CurrentDirectory;
-		int thumbnailWidth = 300;
-		int thumbnailHeight = 200;
+		Size thumbnailSize = new Size(300, 200);
 
 		HttpListener server = new HttpListener();
 		string prefix;
@@ -227,11 +226,9 @@ namespace GalleryShare
 			if(cycle.Request.QueryString["type"] == "thumbnail")
 			{
 				// Send a thumbnail!
-				MagickImage img = new MagickImage(requestedPath);
-				img.Thumbnail(new MagickGeometry(thumbnailWidth, thumbnailHeight));
-				cycle.Response.ContentType = "image/webp";
-				img.Write(cycle.Response.OutputStream, MagickFormat.WebP);
-				img.Dispose();
+				Console.WriteLine("Sending thumbnail for '{0}'", requestedPath);
+				cycle.Response.ContentType = "image/png";
+				ThumbnailGenerator.GenerateThumbnailPng(requestedPath, thumbnailSize, cycle.Response.OutputStream);
 				return;
 			}
 
@@ -241,7 +238,6 @@ namespace GalleryShare
 
 			Stream fileData = File.OpenRead(requestedPath);
 			await fileData.CopyToAsync(cycle.Response.OutputStream);
-
 		}
 	}
 }
diff --git a/GalleryShare/GalleryShare.csproj b/GalleryShare/GalleryShare.csproj
index 7dcada0..cfd0414 100644
--- a/GalleryShare/GalleryShare.csproj
+++ b/GalleryShare/GalleryShare.csproj
@@ -37,15 +37,13 @@
       <HintPath>packages\MimeSharp.1.0.0\lib\MimeSharp.dll</HintPath>
     </Reference>
     <Reference Include="System.Drawing" />
-    <Reference Include="Magick.NET-Q16-AnyCPU">
-      <HintPath>..\packages\Magick.NET-Q16-AnyCPU.7.0.2.100\lib\net40-client\Magick.NET-Q16-AnyCPU.dll</HintPath>
-    </Reference>
   </ItemGroup>
   <ItemGroup>
     <Compile Include="Program.cs" />
     <Compile Include="Properties\AssemblyInfo.cs" />
     <Compile Include="GalleryServer.cs" />
     <Compile Include="Utilities.cs" />
+    <Compile Include="ThumbnailGenerator.cs" />
   </ItemGroup>
   <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
   <Import Project="packages\Magick.NET-Q8-x64.7.0.2.100\build\net40-client\Magick.NET-Q8-x64.targets" Condition="Exists('packages\Magick.NET-Q8-x64.7.0.2.100\build\net40-client\Magick.NET-Q8-x64.targets')" />
diff --git a/GalleryShare/ThumbnailGenerator.cs b/GalleryShare/ThumbnailGenerator.cs
new file mode 100644
index 0000000..91f8b52
--- /dev/null
+++ b/GalleryShare/ThumbnailGenerator.cs
@@ -0,0 +1,40 @@
+﻿using System;
+using System.Threading.Tasks;
+using System.Drawing;
+using System.IO;
+
+using System.Drawing.Drawing2D;
+using System.Drawing.Imaging;
+
+namespace GalleryShare
+{
+	public static class ThumbnailGenerator
+	{
+		public static void GenerateThumbnailPng(string imagePath, Size thumbnailBounds, Stream outputStream)
+		{
+			using (Bitmap rawImage = new Bitmap(imagePath)) {
+				float scaleFactor = Math.Min(
+					thumbnailBounds.Width / (float)rawImage.Width,
+					thumbnailBounds.Height / (float)rawImage.Height
+				);
+				Size thumbnailSize = new Size(
+					(int)(rawImage.Width * scaleFactor),
+					(int)(rawImage.Height * scaleFactor)
+				);
+
+				using (Bitmap smallImage = new Bitmap(thumbnailSize.Width, thumbnailSize.Height))
+				using (Graphics context = Graphics.FromImage(smallImage)) {
+					context.CompositingMode = CompositingMode.SourceCopy;
+					context.InterpolationMode = InterpolationMode.HighQualityBicubic;
+					context.DrawImage(rawImage, new Rectangle(
+						Point.Empty,
+						thumbnailSize
+					));
+
+					smallImage.Save(outputStream, ImageFormat.Png);
+				}
+			}
+		}
+	}
+}
+
diff --git a/GalleryShare/packages.config b/GalleryShare/packages.config
new file mode 100644
index 0000000..544b3b4
--- /dev/null
+++ b/GalleryShare/packages.config
@@ -0,0 +1,4 @@
+﻿<?xml version="1.0" encoding="utf-8"?>
+<packages>
+  <package id="MimeSharp" version="1.0.0" targetFramework="net45" />
+</packages>
\ No newline at end of file
