Esempio n. 1
0
        private static PageImage CreateFaxTiffSlowTrack(PageImage page, PaperSize paperSize, FaxQuality faxQuality, ImageOperationResult result)
        {
            PageInfo  inf     = null;
            PageImage ret     = new PageImage();
            Bitmap    src     = null;
            Bitmap    destroy = null;

            Trace.WriteLine("SlowTrack: CreateCopyExact...", MODNAME);
            src = BitmapHelper.CreateCopyExact(page._sourceBmp);
            Trace.WriteLine("SlowTrack: CreateCopyExact done.", MODNAME);
            inf = new PageInfo(src);

            if (inf.GetBestFitRotation != 0)
            {
                Trace.WriteLine("SlowTrack: Rotating...", MODNAME);
                destroy = src;
                src     = BitmapHelper.CreateCopyRotate(src, 90);
                if (destroy != null)
                {
                    destroy.Dispose(); destroy = null;
                }
                inf = new PageInfo(src);
                Trace.WriteLine("SlowTrack: Rotating done.", MODNAME);
            }

            destroy = src;
            Trace.WriteLine("SlowTrack: CreateCopyFaxGeometry...", MODNAME);
            src = BitmapHelper.CreateCopyFaxGeometry(src, faxQuality, paperSize, ImageUtility.InterpolationMode);
            Trace.WriteLine("SlowTrack: CreateCopyFaxGeometry done.", MODNAME);
            if (destroy != null)
            {
                destroy.Dispose(); destroy = null;
            }
            inf = new PageInfo(src);

            destroy = src;
            Trace.WriteLine("SlowTrack: CreateCopy1BppIndexed: " + ImageUtility.ConvertTo1BppMethod.ToString() + "...", MODNAME);
            src = BitmapHelper.CreateCopy1BppIndexed(src);
            Trace.WriteLine("SlowTrack: CreateCopy1BppIndexed done.", MODNAME);
            if (destroy != null)
            {
                destroy.Dispose(); destroy = null;
            }
            inf = new PageInfo(src);

            ret._pageInfo  = null;
            ret._sourceBmp = src;
            return(ret);
        }