Save() public method

Only used for testing.
public Save ( string filename ) : void
filename string
return void
        public override void ApplyFilter(ImageGenerationContext context, FastBitmap bitmap)
        {
            if (Width == Unit.Empty && Height == Unit.Empty)
                throw new DynamicImageException("At least one of Width or Height must be set.");

            string sourceFileName = Path.GetTempFileName();
            try
            {
                bitmap.Save(sourceFileName);

                string outputFileName = Path.GetTempFileName();

                try
                {
                    int width = (Width == Unit.Empty) ? bitmap.Width : Unit.GetCalculatedValue(Width, bitmap.Width);
                    int height = (Height == Unit.Empty) ? bitmap.Height : Unit.GetCalculatedValue(Height, bitmap.Height);
                    new CairWrapper(context).ProcessImage(sourceFileName, outputFileName, int.MaxValue,
                        width, height, ConvolutionType);
                    FastBitmap output = new FastBitmap(File.ReadAllBytes(outputFileName));
                    if (output.InnerBitmap != null)
                        bitmap.InnerBitmap = output.InnerBitmap;
                }
                finally
                {
                    File.Delete(outputFileName);
                }
            }
            finally
            {
                File.Delete(sourceFileName);
            }
        }
示例#2
0
        public void CropFilter_UseXYWidthHeight_CalculatedCorrectly()
        {
            FastBitmap bitmap = new FastBitmap("Filters\\Images\\Tulips.png", UriKind.Relative);

            CropFilter cropFilter = new CropFilter();
            cropFilter.X = 30;
            cropFilter.Y = 30;
            cropFilter.Width = 200;
            cropFilter.Height = 200;

            cropFilter.ApplyFilter(bitmap);

            Assert.AreEqual(200, bitmap.Width);
            Assert.AreEqual(200, bitmap.Height);

            bitmap.Save("TulipsCropped200x200.png");

            FastBitmap expectedBitmap = new FastBitmap("Filters\\Images\\TulipsCropped200x200.png", UriKind.Relative);
            FastBitmapTestUtility.AssertEqual(expectedBitmap, bitmap);
        }