Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
 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();
     }
 }