public static Matrix FromViewSettings(ViewSettingsModel viewSettings) { var z = viewSettings.Zoom * viewSettings.ImageWidth; var sX = viewSettings.ShiftX * z; var sY = viewSettings.ShiftY * z; var cos = Math.Cos(viewSettings.Rotation); var sin = Math.Sin(viewSettings.Rotation); var rotate = FromArray(new[, ] { { cos, -sin, 0 }, { sin, cos, 0 }, { 0, 0, 1 } }); var shift = FromArray(new[, ] { { 1, 0, sX }, { 0, 1, sY }, { 0, 0, 1 } }); var scale = FromArray(new[, ] { { z, 0, 0 }, { 0, z, 0 }, { 0, 0, 1 } }); var mtx = shift * rotate * scale; return(mtx); }
public RenderPackModel(TransformModel[] transformations, VariationModel[] variations, ViewSettingsModel viewSettings, RenderSettingsModel renderSettings, FlameColorMode colorMode, GradientModel gradModel) { Transformations = transformations; Variations = variations; ViewSettings = viewSettings; RenderSettings = renderSettings; ColorMode = colorMode; if (gradModel != null) { GradModelCopy = gradModel.Copy(); } }