public MediaRenditionInfo Scale(float scale) { var a = MediaTransformation.ParsePath(path); var b = new MediaTransformation(a.Source, a.Format); foreach (var transform in a.GetTransforms()) { if (transform is Resize) { var resize = (Resize)transform; b.Transform(new Resize(resize.Size.Scale(scale))); } else if (transform is AnchoredResize) { var resize = (AnchoredResize)transform; b.Transform(new AnchoredResize(resize.Size.Scale(scale), resize.Anchor)); } else if (transform is Crop) { var crop = (Crop)transform; b.Transform(new Crop(crop.Rectangle.Scale(scale))); } else { b.Transform(transform); } } return new MediaRenditionInfo(b.Width, b.Height, b.GetPath()); }
public MediaRenditionInfo(MediaTransformation transformation) : this(transformation, transformation.GetPath()) { }