public void MimeType() { var expected = Guid.NewGuid().ToString(); var data = new ImageData() { MimeType = expected }; Assert.AreEqual(expected, data.MimeType); }
public void Raw() { var random = new Random(); var expected = new byte[32]; random.NextBytes(expected); var data = new ImageData() { Raw = expected }; Assert.AreEqual(expected, data.Raw); }
/// <summary> /// Resize Image /// </summary> /// <param name="file">File</param> /// <param name="width">Width</param> /// <param name="height">Height</param> /// <param name="format">Format</param> /// <param name="quality">Quality</param> /// <param name="cache">Cache</param> /// <returns>Image Data</returns> public async Task<ImageData> Resize(string file, ushort width, ushort height = 0, string format = Naming.DefaultExtension, byte quality = Imaging.DefaultImageQuality, bool cache = true) { var wasCached = false; var imgFormat = this.imaging.Get(format, quality); var data = new ImageData() { MimeType = imgFormat.MimeType, }; var identifier = this.naming.FromFileName(file); var versionName = this.naming.DynamicVersion(imgFormat.DefaultExtension, quality, width, height); var cachedFileName = this.naming.FileName(identifier, versionName, imgFormat.DefaultExtension); var streamer = this.Streamer; if (cache) { data.Raw = await streamer.Bytes(cachedFileName); wasCached = null != data.Raw; } if (!wasCached) { var version = new ImageVersion { Height = height, Width = width, Format = imgFormat, }; var toResize = await streamer.Bytes(file); data.Raw = this.imaging.Resize(toResize, version); } if (cache && !wasCached) { await this.Save(cachedFileName, data.Raw, versionName, imgFormat.MimeType, identifier, false, null, quality); } return data; }