示例#1
0
        private Image CreateImage(GeckoWebBrowser browser)
        {
            if (_syncControl.InvokeRequired)
            {
                return((Image)_syncControl.Invoke(new Func <GeckoWebBrowser, Image>(CreateImage), browser));
            }

#if __MonoCS__
            var offscreenBrowser = browser as OffScreenGeckoWebBrowser;
            Debug.Assert(offscreenBrowser != null);

            return(offscreenBrowser.GetBitmap(browser.Width, browser.Height));
#else
            var    creator    = new ImageCreator(browser);
            byte[] imageBytes = creator.CanvasGetPngImage((uint)browser.Width, (uint)browser.Height);
            // Ensure image is still valid after the MemoryStream closes.
            using (var stream = new MemoryStream(imageBytes))
            {
                using (var image = new Bitmap(stream))
                {
                    return(new Bitmap((image)));
                }
            }
#endif
        }
        internal override void OnBackgroundImageChange(String message, bool infoMode)
        {
            if (message == null)
            {
                RemoveBehaviorStyle("backgroundImage");
                SetBehaviorStyle("paddingTop", 8);
            }
            else
            {
                ImageCreator.CreateBackgroundImage(
                    ref _backgroundBmpFile,
                    String.Empty,
                    String.Empty,
                    message,
                    infoMode,
                    GetDefaultSize().Width
                    );

                // redraw the background image here
                SetBehaviorStyle("backgroundImage",
                                 "url(" + _backgroundBmpFile.Url + ")");
                SetBehaviorStyle(
                    "paddingTop",
                    _backgroundBmpFile.UnderlyingBitmap.Height + 8
                    );
            }
        }
示例#3
0
        static void Main(string[] args)
        {
            // Basic Setup
            Console.Title           = "Oasis Trading Bot";
            Console.ForegroundColor = ConsoleColor.Green;
            Console.WriteLine("Booting Oasis");
            API.Init();

            //var rs = new RelativeStrength("BTCUSDT", 14, KlineInterval.OneHour);
            //Console.Write(rs.getStrengthSimple());

            foreach (var pair in API.config.coin_pairs)
            {
                foreach (var interval in API.config.intervals)
                {
                    //new TrendlineIndicator(pair, interval, 100);
                    IndicatorsManager IDCM = new IndicatorsManager(pair, interval);
                    IndicatorInfo     info = new IndicatorInfo();
                    info.pair     = pair;
                    info.interval = interval;
                    API.indicatorsManagers.Add(info, IDCM);
                    IDCM.drawImage();
                }
            }

            ImageCreator.CreateChart();

            while (true)
            {
                Console.ReadLine();
            }
        }
示例#4
0
文件: TestSuite.cs 项目: Tobraef/OCR
        public void TestScaleDescaleComparison()
        {
            int width  = 100;
            int height = 100;

            bool[][] mat     = new bool[width][];
            var      rEngine = new Random();

            for (int x = 0; x < mat.Length; ++x)
            {
                mat[x] = new bool[height];
                for (int y = 0; y < mat[x].Length; ++y)
                {
                    mat[x][y] = rEngine.Next(2) == 1 ? true : false;
                }
            }
            ImageMatrix matrix   = new ImageMatrix(mat);
            var         creator  = new ImageCreator();
            var         scaled   = MatrixTools.Scale(matrix, 50, 50);
            var         descaled = MatrixTools.Scale(scaled, 100, 100);
            float       s        = MatrixTools.EqualPixelRatio(descaled, matrix);

            if (s > 0.5)
            {
                Console.WriteLine("TEST_Scaling: Passed, scale equality: " + s.ToString());
            }
            else
            {
                Console.WriteLine("TEST_Scaling: fail, scale equality: " + s.ToString());
            }
        }
示例#5
0
        public void GetImages(string path, string dziFolderPath)
        {
            ImageCreator creator = new ImageCreator();

            creator.TileFormat  = ImageFormat.Jpg;
            creator.TileOverlap = 1;
            creator.TileSize    = 256;

            List <string> files = new List <string>();

            foreach (var file in Directory.GetFiles(path))
            {
                files.Add(file);
            }
            ;

            List <string> dzi = new List <string>();

            foreach (var name in files)
            {
                string output = Path.Combine(dziFolderPath + "\\", Path.GetFileNameWithoutExtension(name) + ".dzi");
                dzi.Add(output);
                creator.Create(name, output);
            }

            CollectionCreator ccreator = new CollectionCreator();

            ccreator.TileFormat  = ImageFormat.Jpg;
            ccreator.TileOverlap = 1;
            ccreator.TileSize    = 256;
            ccreator.Create(dzi, Path.Combine(dziFolderPath + "\\", "da.dzc"));
        }
示例#6
0
    public void TransactionIE(GameObject current, GameObject sended, int quantaty)
    {
        Station station = current.GetComponent <Station>();

        for (int i = 0; i < 8; i++)
        {
            if (current.GetComponent <Station>().inventory[i].typeOfItem == sended && station.capacityCur + quantaty < station.capacity)
            {
                current.GetComponent <Station>().inventory[i].count += quantaty;
                station.capacityCur += quantaty;
                ImageCreator.updateStationCapacityText();
                return;
            }
        }
        for (int i = 0; i < 8; i++)
        {
            if (current.GetComponent <Station>().inventory[i].typeOfItem == null && station.capacityCur + quantaty < station.capacity)
            {
                current.GetComponent <Station>().inventory[i].typeOfItem = sended;
                current.GetComponent <Station>().inventory[i].count     += quantaty;
                station.capacityCur += quantaty;
                ImageCreator.updateStationCapacityText();
                return;
            }
        }
    }
        private void StartMethod()
        {
            Logger.Add(new Log(this.GetType().Name, MethodBase.GetCurrentMethod().Name, $"New game started"));

            #region Map Size/Blocks

            int size;
            int blocks;
            if (Int32.TryParse(ConfigurationManager.AppSettings["Map_Blocks"], out blocks))
            {
                Logger.Add(new Log(this.GetType().Name, MethodBase.GetCurrentMethod().Name, $"Map_Blocks loaded from AppConfig - {blocks}"));
            }
            else
            {
                blocks = 20;
                Logger.Add(new Log(this.GetType().Name, MethodBase.GetCurrentMethod().Name, $"Map_Blocks set as default - {blocks}"));
            }
            if (Int32.TryParse(ConfigurationManager.AppSettings["Map_Size"], out size))
            {
                Logger.Add(new Log(this.GetType().Name, MethodBase.GetCurrentMethod().Name, $"Map_Size loaded from AppConfig - {size}"));
            }
            else
            {
                size = 20;
                Logger.Add(new Log(this.GetType().Name, MethodBase.GetCurrentMethod().Name, $"Map_Size set as default - {size}"));
            }
            #endregion
            var tmp = new GanerateServise(size, blocks);
            // make it look like a square
            tmp.ResultGrid.Width = MyModel.GridParent.ActualHeight;
            MyModel.Field        = tmp.ResultGrid;
            _field        = new int[size, size];
            _field        = tmp.Field;
            _gameWinScore = SetGameWinScore(tmp.Field);
            if (IsPacmanDie)
            {
                IsPacmanDie = !IsPacmanDie;
                var s = UI.FindChild <Grid>(MyModel.GridParent, "MainField");
                MyModel.GridParent.Children.Remove(s);
                Logger.Add(new Log(this.GetType().Name, MethodBase.GetCurrentMethod().Name, $"Old game field removed"));
                _score          = 0;
                _ghostAnimation = new List <PointAnimationHelper>();
                AnimationHelper = new PointAnimationHelper();
                Logger.Add(new Log(this.GetType().Name, MethodBase.GetCurrentMethod().Name, $"Reset all start params"));
            }
            MyModel.GridParent.Children.Add(tmp.ResultGrid);
            Logger.Add(new Log(this.GetType().Name, MethodBase.GetCurrentMethod().Name, $"Game field Added at main View Model window"));
            pacman           = new PacmanEssence(tmp.StartPoint, ImageCreator.CreateImage($@"Materials\Pacman\state1.png"));
            pacman.NextPoint = pacman.Point;
            Logger.Add(new Log(this.GetType().Name, MethodBase.GetCurrentMethod().Name, $"Pacman assign to game"));
            Draw_pacman(tmp.ResultGrid, pacman, true);
            PointAnimationHelper.FlickerImage(pacman.MainImage, TimeSpan.FromSeconds(0.3));
            //pacman._animationStateImage.Add(ImageCreator.CreateImage($@"Materials\Pacman\state1.png"));
            //pacman._animationStateImage.Add(ImageCreator.CreateImage($@"Materials\Pacman\state2.png"));
            //StartMouthAnimation();
            AbstractGhost.ResetIndex();
            InitGhosts();
            CreateGhosts(_greenGhostCount, _blueGhostCount, _redGhostCount);
        }
示例#8
0
    public Generator(T options)
    {
        _o = options;
        var fonts = new FontCollection();
        var font  = fonts.Install(_o.FontPath.Trim());

        _imageCreator = new ImageCreator(options.BackgroundImagePath, font);
    }
 public static void ReplaceImageCreator(ImageCreator creator)
 {
     VisionLabPINVOKE.Image_ReplaceImageCreator(ImageCreator.getCPtr(creator));
     if (VisionLabPINVOKE.SWIGPendingException.Pending)
     {
         throw VisionLabPINVOKE.SWIGPendingException.Retrieve();
     }
 }
示例#10
0
        private void Button2_Click(object sender, EventArgs e)
        {
            Collect();
            var crt = new ImageCreator();

            pictures             = new Splitters.MatrixSplitter(textBoxLetter.Text).Letters.Select(l => crt.CreateImageOutOfMatrix(l)).ToList();
            pictureBoxLine.Image = pictures.First();
        }
示例#11
0
        [Fact] // async Task<bool> EditListingAsync(OwnerEditListingServiceModel model)
        public async Task EditHomeStatusAsync_WithGivenRequestObject_ShouldChangeStatusAndReturnString()
        {
            // Arrange
            string       newName        = "New house on the block";
            string       newDescription = "Well maintained house close to the beach";
            HomeStatus   newStatus      = HomeStatus.Rented;
            HomeCategory newCategory    = HomeCategory.Room;

            var country = CountryCreator.Create();
            var city    = CityCreator.Create(country.Id);
            var image   = ImageCreator.CreateForModel();
            var home    = HomeCreator.CreateAny(city.Id);

            await this.Context.Countries.AddAsync(country);

            await this.Context.Cities.AddAsync(city);

            await this.Context.Homes.AddAsync(home);

            await this.Context.CloudImages.AddAsync(image);

            await this.Context.SaveChangesAsync();

            var model = new OwnerEditListingServiceModel
            {
                Id          = home.Id,
                Name        = newName,
                Description = newDescription,
                Price       = 1000m,
                Status      = newStatus,
                Category    = newCategory,
                Image       = image,
            };

            var service = new OwnerListingService(this.Context, null, null, null);

            // Act
            var savedEntry = await this.Context.Homes.Where(h => h.Id == home.Id).FirstOrDefaultAsync();

            var result = await service.EditListingAsync(model);

            var expected = true;

            // Assert
            result.Should().Be(true);
            result.Should().Equals(expected);

            savedEntry.Should().NotBeNull();
            savedEntry.Id.Should().Be(model.Id);
            savedEntry.Name.Should().Match(model.Name);
            savedEntry.Description.Should().Match(model.Description);
            savedEntry.Price.Should().Be(model.Price);
            savedEntry.Status.Should().Be(model.Status);
            savedEntry.Category.Should().Be(model.Category);
            savedEntry.Images.Select(i => i.PictureUrl).FirstOrDefault()
            .Should()
            .Match(model.Image.PictureUrl);
        }
 /// <summary>
 /// Initializes a new instance of the <see cref="ParallelDeepZoomCreator"/> class.
 /// </summary>
 public ParallelDeepZoomCreator()
 {
     m_outputDirectory      = ".";
     m_dziPaths             = new List <String>();
     m_threadPool           = new List <Thread>();
     m_threadCount          = Environment.ProcessorCount * MinThreadsPerCore;
     m_sourceImagePathQueue = new Queue <KeyValuePair <Guid, string> >();
     imageCreator           = new ImageCreator();
 }
示例#13
0
 public static void CreateDZImage(string inputFN, string outputFN)
 {
     ImageCreator creator = new ImageCreator();
     creator.ImageQuality = 0.8;
     creator.TileFormat = ImageFormat.Jpg;
     creator.TileSize = 256;
     creator.TileOverlap = 0;
     creator.Create(inputFN, outputFN);
 }
示例#14
0
        [Fact] // async Task<bool> StartHomeManage(string id, byte[] fileContent)
        public async Task StartHomeManage_WithGivenRequestIdAndDocumentFile_ShouldInitiateManagementContract()
        {
            // Arrange
            var country = CountryCreator.Create();
            var city    = CityCreator.Create(country.Id);
            var home    = HomeCreator.CreateAny(city.Id);
            var image   = ImageCreator.CreateForModel();

            await this.Context.Countries.AddAsync(country);

            await this.Context.Cities.AddAsync(city);

            await this.Context.Homes.AddAsync(home);

            await this.Context.CloudImages.AddAsync(image);

            var request = RequestCreator.Create(home);

            await this.Context.Requests.AddAsync(request);

            await this.Context.SaveChangesAsync();

            var approvedRequest = RequestCreator.CreateManageApproved(home, request.User, request.Id);

            var user = request.User;

            this.UserManager
            .Setup(u => u.FindByIdAsync(user.Id))
            .Returns(Task.FromResult(user));
            await this.UserManager.Object
            .AddToRoleAsync(user, "Manager");

            var requestService = new Mock <IOwnerRequestService>();

            requestService.Setup(x => x.ApproveRequestAsync(request.Id))
            .Returns(Task.FromResult(approvedRequest));

            var contractService = new Mock <IOwnerContractService>();

            contractService.Setup(x => x.CreateManageContractAsync(new byte[1024], request.User))
            .Returns(Task.FromResult(true));

            var service = new OwnerListingService(this.Context, this.UserManager.Object, requestService.Object, contractService.Object);

            // Act
            var result = await service.StartHomeManage(request.Id, new byte[1024]);

            var changedHomeInfo = await this.Context.Homes.Where(h => h.Id == home.Id).FirstOrDefaultAsync();

            var changedUser = await this.Context.Users.Where(u => u.Id == user.Id).FirstOrDefaultAsync();

            // Assert
            result.Should().BeTrue();
            changedHomeInfo.ManagerId.Should().Equals(user.Id);
            changedUser.ManagedHomes.Count().Should().Be(1);
        }
示例#15
0
        private void FillDiskByDefault()
        {
            Items = new List <IMediaItem>();

            _itemCreator = new AudioCreator();
            Items.Add(_itemCreator.CreateItem("AudioTrack01"));

            _itemCreator = new ImageCreator();
            Items.Add(_itemCreator.CreateItem("Image01"));
        }
示例#16
0
 private void CreateButtonShowFilter()
 {
     ImageCreator.CreateImage(MainCanvasStatistics, 26, 26, 490, 4, "Pictures/showFilter.png");
     buttonShowFilter = ButtonCreator.CreateButton(MainCanvasStatistics, "        Pokaż filtry", 114, 30, 13, 484, 2,
                                                   Color.FromArgb(255, 255, 255, 255), Color.FromArgb(0, 0, 0, 0));
     buttonShowFilter.Background           = new SolidColorBrush(Color.FromArgb(35, 2, 53, 101));
     buttonShowFilter.MouseEnter          += Behavior_MouseEnter;
     buttonShowFilter.MouseLeave          += Behavior_MouseLeave;
     buttonShowFilter.MouseLeftButtonDown += buttonShowFilter_MouseLeftButtonDown;
 }
示例#17
0
        public static void CreateDZImage(string inputFN, string outputFN)
        {
            ImageCreator creator = new ImageCreator();

            creator.ImageQuality = 0.8;
            creator.TileFormat   = ImageFormat.Jpg;
            creator.TileSize     = 256;
            creator.TileOverlap  = 0;
            creator.Create(inputFN, outputFN);
        }
示例#18
0
        [Fact] // async Task<bool> CreateListingAsync(OwnerCreateListingServiceModel model)
        public async Task CreateListingAsync_WithGivenInputModel_ShouldCreateOwnerListingAndReturnTrue()
        {
            // Arrange
            const string modelName        = "New house close to the beach.";
            const string modelDescription = "That we can tuck in our children at night and know that they are fed and clothed and safe from harm. I wanted to be part of something larger. And yet, it has only been in the last couple of weeks that the discussion of race in this campaign has taken a particularly divisive turn.";
            const string modelAddress     = "10, G.M. Dimitrov, 1700";

            var owner   = UserCreator.Create("Prasemir", "Butonoskov", "prasio", "*****@*****.**");
            var country = CountryCreator.Create();
            var city    = CityCreator.Create(country.Id);
            var image   = ImageCreator.CreateForModel();

            await this.Context.Countries.AddAsync(country);

            await this.Context.Cities.AddAsync(city);

            await this.Context.Users.AddAsync(owner);

            await this.Context.CloudImages.AddAsync(image);

            await this.Context.SaveChangesAsync();

            var model = new OwnerCreateListingServiceModel
            {
                Name        = modelName,
                Description = modelDescription,
                Address     = modelAddress,
                CityId      = city.Id,
                Price       = 1000,
                Status      = HomeStatus.ToRent,
                Category    = HomeCategory.House,
                Owner       = owner,
                Image       = image,
            };

            var service = new OwnerListingService(this.Context, null, null, null);

            // Act
            var result = await service.CreateListingAsync(model);

            var savedEntry = await this.Context.Homes.Where(h => h.OwnerId == owner.Id).FirstOrDefaultAsync();

            var expected = true;

            // Assert
            result.Should().Be(true);
            result.Should().Equals(expected);

            savedEntry.Should().NotBeNull();
            savedEntry.Name.Should().Match(modelName);
            savedEntry.Description.Should().Match(modelDescription);
            savedEntry.OwnerId.Should().Match(owner.Id);
            savedEntry.Images.Any(i => i.PictureUrl == image.PictureUrl);
        }
示例#19
0
    public static void BackTransaction(GameObject item, int quantaty)
    {
        GameObject current = PlayerController.current;

        for (int i = 0; i < 8; i++)
        {
            if (current.GetComponent <Station>().inventory[i].typeOfItem == item)
            {
                current.GetComponent <Station>().inventory[i].count -= quantaty;
                ImageCreator.updateStationCapacityText();
                return;
            }
        }
    }
示例#20
0
        /// <inheritdoc />
        public async Task <Stream> CreateImageAsync(string htmlImput, int widthPx, ImageFormat imageFormat, CancellationToken cancellationToken = default)
        {
            await initializeTask;

            using var creator = new ImageCreator(
                      loggerFactory.CreateLogger <ImageCreator>(),
                      depencencyLogger,
                      wkhtmlToImpageExePath,
                      Path.Combine(exectuionDirectory.Directory, Path.GetRandomFileName()),
                      executionTimeout
                      );

            return(await creator.CreateAsync(htmlImput, widthPx, imageFormat, cancellationToken));
        }
示例#21
0
    public override void OnInspectorGUI()
    {
        ImageCreator imageCreator = (ImageCreator)target;

        DrawDefaultInspector();
        if (GUILayout.Button("Randomize"))
        {
            imageCreator.CreateRandomNoiseTexture();
        }
        if (GUILayout.Button("Save To Image"))
        {
            imageCreator.SaveToImage();
        }
    }
示例#22
0
        protected void Page_Load(object sender, EventArgs e)
        {
            string str = ImageCreator.RndCode(4);

            Session["CheckCode"] = str;
            Bitmap image = ImageCreator.CreateAddCodeImage(str, true, 70, 22, 30);

            System.IO.MemoryStream ms = new System.IO.MemoryStream();
            image.Save(ms, ImageFormat.Gif);
            image.Dispose();

            this.Context.Response.ClearContent();
            this.Context.Response.ContentType = "image/gif";
            this.Context.Response.BinaryWrite(ms.ToArray());
        }
示例#23
0
        private void CreateControlPanel()
        {
            new MyRectangle(MainCanvasStatistics, 600, 35, Color.FromArgb(255, 0, 125, 255), 0, 0);
            ImageCreator.CreateImage(MainCanvasStatistics, 40, 50, 4, -8, "Pictures/application.png");
            countTitleApplication = new MyLabel(MainCanvasStatistics, (tempDateCount != null ? tempDateCount[0] : "0"), 60, 30, 14, 45, 2, Color.FromArgb(255, 255, 255, 255), Color.FromArgb(0, 0, 0, 0),
                                                horizontalAlignment: HorizontalAlignment.Left);

            ImageCreator.CreateImage(MainCanvasStatistics, 26, 26, 110, 4, "Pictures/ActivityImages.png");
            countActivityApplication = new MyLabel(MainCanvasStatistics, tempDateCount != null ? tempDateCount[1] : "0", 60, 30, 14, 140, 2, Color.FromArgb(255, 255, 255, 255), Color.FromArgb(0, 0, 0, 0),
                                                   horizontalAlignment: HorizontalAlignment.Left);


            CreateButtonShowFilter();
            CreateFilter();
        }
示例#24
0
        private void UpdateViewGraphImage()
        {
            string inputFile = Path.Combine(
                System.Environment.CurrentDirectory, "Graphs/graph.txt");
            string outputFile = Path.Combine(
                System.Environment.CurrentDirectory, "Graphs/image.png");
            string output = ImageCreator.CreateImage(inputFile, outputFile, 1024);

            if (output.Equals(""))
            {
                _view.SetGraphImage(outputFile);
            }
            else
            {
                _view.SetGraphImage("notGenerated.png");
            }
        }
        private void CreateCanvasMembershipWithElements()
        {
            Canvas canvasMembership = CanvasCreator.CreateCanvas(MainCanvasCategory, 290, 380, Color.FromArgb(155, 4, 0, 35), 15, 15);

            ImageCreator.CreateImage(canvasMembership, 60, 60, 40, 40, "Pictures/MembershipImages.png");
            new MyLabel(canvasMembership, "Przynależność", 250, 40, 20, 60, 60, Color.FromArgb(255, 255, 255, 255),
                        Color.FromArgb(0, 255, 255, 255));
            MyRectangle r0 = new MyRectangle(canvasMembership, 250, 1, Color.FromArgb(40, 255, 255, 255), 20, 140);


            // przyłącz aplikacje ----------------------------------------------------------------------------------------------
            notJoinedApplications = new MyLabel(canvasMembership, "0", 60, 38, 18, 20, 200, Color.FromArgb(255, 125, 255, 0), Color.FromArgb(255, 255, 255, 255), 0);
            Label buttonJoinApplication = ButtonCreator.CreateButton(canvasMembership, "     Przyłącz Aplikacje", 225, 38, 16, 30, 200,
                                                                     Color.FromArgb(255, 255, 255, 255), Color.FromArgb(255, 255, 255, 255), 0);

            buttonJoinApplication.MouseEnter          += buttonJoinApplication_MouseEnter;
            buttonJoinApplication.MouseLeave          += buttonJoinApplication_MouseLeave;
            buttonJoinApplication.MouseLeftButtonDown += buttonJoinApplication_MouseLeftButtonDown;
            MyRectangle r = new MyRectangle(canvasMembership, 200, 1, Color.FromArgb(100, 255, 255, 255), 40, 237);

            //-----------------------------------------------------------------------------------------------------------------

            // przegląd grup
            numberGroups = new MyLabel(canvasMembership, "0", 50, 38, 18, 30, 237, Color.FromArgb(255, 255, 255, 255), Color.FromArgb(255, 255, 255, 255), 0);
            Label buttonShowGroups = ButtonCreator.CreateButton(canvasMembership, "     Przegląd Grup      ", 225, 38, 16, 30, 237,
                                                                Color.FromArgb(255, 255, 255, 255), Color.FromArgb(255, 255, 255, 255), 0);

            buttonShowGroups.MouseEnter          += buttonShowGroups_MouseEnter;
            buttonShowGroups.MouseLeave          += buttonShowGroups_MouseLeave;
            buttonShowGroups.MouseLeftButtonDown += buttonShowGroups_MouseLeftButtonDown;
            MyRectangle r2 = new MyRectangle(canvasMembership, 200, 1, Color.FromArgb(100, 255, 255, 255), 40, 275);

            //------------------------------------------------------------------------------------------------------------------


            // historia aktywności
            numberOfConfiguredGroups = new MyLabel(canvasMembership, "0", 50, 38, 18, 30, 275, Color.FromArgb(255, 255, 255, 255), Color.FromArgb(255, 255, 255, 255), 0);
            Label buttonConfigurationGroups = ButtonCreator.CreateButton(canvasMembership, "     Konfiguracje Grup", 225, 38, 16, 30, 275,
                                                                         Color.FromArgb(255, 255, 255, 255), Color.FromArgb(255, 255, 255, 255), 0);

            buttonConfigurationGroups.MouseEnter          += buttonConfigurationGroups_MouseEnter;
            buttonConfigurationGroups.MouseLeave          += buttonConfigurationGroups_MouseLeave;
            buttonConfigurationGroups.MouseLeftButtonDown += buttonConfigurationGroups_MouseLeftButtonDown;
            MyRectangle r3 = new MyRectangle(canvasMembership, 200, 1, Color.FromArgb(100, 255, 255, 255), 40, 312);
            //------------------------------------------------------------------------------------------------------------------
        }
示例#26
0
        static void Main(string[] args)
        {
            if (!File.Exists(args[1]))
            {
                Console.WriteLine($"Unable to find image file at {args[1]}");
                return;
            }

            if (!Directory.Exists(args[0]))
            {
                Directory.CreateDirectory(args[0]);
            }

            ImageCreator imageCreator = new ImageCreator();

            imageCreator.Create(args[1], args[0]);
        }
示例#27
0
        public string GetDeepZoomImage(string sourceImage, string destinationPath)
        {
            string sourceFileName = Path.GetFileNameWithoutExtension(sourceImage);
            string targetFileName = sourceFileName + ".xml";
            string targetPath = Path.Combine(destinationPath, targetFileName);

            if (!File.Exists(targetPath))
            {
                ImageCreator imageCreator = new ImageCreator();
                imageCreator.ConversionTileFormat = ImageFormat.Jpg;
                imageCreator.ServerFormat = ServerFormats.Default;
                imageCreator.TileFormat = ImageFormat.Jpg;
                imageCreator.Create(sourceImage, targetPath);
            }

            return targetPath;
        }
        private void CreateCanvasActivityWithElements()
        {
            Canvas canvasActivity = CanvasCreator.CreateCanvas(MainCanvasCategory, 290, 380, Color.FromArgb(155, 4, 0, 35), 320, 15);

            ImageCreator.CreateImage(canvasActivity, 60, 60, 40, 40, "Pictures/ActivityImages.png");
            new MyLabel(canvasActivity, "Aktywność", 250, 40, 20, 60, 60, Color.FromArgb(255, 255, 255, 255),
                        Color.FromArgb(0, 255, 255, 255));
            MyRectangle r0 = new MyRectangle(canvasActivity, 250, 1, Color.FromArgb(40, 255, 255, 255), 20, 140);


            // przypisz aktywności----------------------------------------------------------------------------------------------
            notAssignedApplications = new MyLabel(canvasActivity, "0", 60, 38, 18, 20, 200, Color.FromArgb(255, 125, 255, 0), Color.FromArgb(255, 255, 255, 255), 0);
            Label buttonAssignActivity = ButtonCreator.CreateButton(canvasActivity, "     Przypisz Aktywności", 225, 38, 16, 30, 200,
                                                                    Color.FromArgb(255, 255, 255, 255), Color.FromArgb(255, 255, 255, 255), 0);

            buttonAssignActivity.MouseEnter          += buttonAssignActivity_MouseEnter;
            buttonAssignActivity.MouseLeave          += buttonAssignActivity_MouseLeave;
            buttonAssignActivity.MouseLeftButtonDown += buttonAssignActivity_MouseLeftButtonDown;
            MyRectangle r = new MyRectangle(canvasActivity, 200, 1, Color.FromArgb(100, 255, 255, 255), 40, 237);

            //-----------------------------------------------------------------------------------------------------------------

            // przegląd aktywności
            numberActivity = new MyLabel(canvasActivity, "0", 50, 38, 18, 30, 237, Color.FromArgb(255, 255, 255, 255), Color.FromArgb(255, 255, 255, 255), 0);
            Label buttonShowActivity = ButtonCreator.CreateButton(canvasActivity, "     Przegląd Aktywności", 225, 38, 16, 30, 237,
                                                                  Color.FromArgb(255, 255, 255, 255), Color.FromArgb(255, 255, 255, 255), 0);

            buttonShowActivity.MouseEnter          += buttonShowActivity_MouseEnter;
            buttonShowActivity.MouseLeave          += buttonShowActivity_MouseLeave;
            buttonShowActivity.MouseLeftButtonDown += buttonShowActivity_MouseLeftButtonDown;
            MyRectangle r2 = new MyRectangle(canvasActivity, 200, 1, Color.FromArgb(100, 255, 255, 255), 40, 275);

            //------------------------------------------------------------------------------------------------------------------

            // historia aktywności
            daysHistoryActivity = new MyLabel(canvasActivity, "0", 50, 38, 18, 30, 275, Color.FromArgb(255, 255, 255, 255), Color.FromArgb(255, 255, 255, 255), 0);
            Label buttonHistoryActivity = ButtonCreator.CreateButton(canvasActivity, "     Historia Aktywności", 225, 38, 16, 30, 275,
                                                                     Color.FromArgb(255, 255, 255, 255), Color.FromArgb(255, 255, 255, 255), 0);

            buttonHistoryActivity.MouseEnter          += buttonHistoryActivity_MouseEnter;
            buttonHistoryActivity.MouseLeave          += buttonHistoryActivity_MouseLeave;
            buttonHistoryActivity.MouseLeftButtonDown += buttonHistoryActivity_MouseLeftButtonDown;
            MyRectangle r3 = new MyRectangle(canvasActivity, 200, 1, Color.FromArgb(100, 255, 255, 255), 40, 312);
            //------------------------------------------------------------------------------------------------------------------
        }
示例#29
0
        internal override void OnBackgroundImageChange(String message, bool infoMode)
        {
            ImageCreator.CreateBackgroundImage(
                ref _backgroundBmpFile,
                _form.ID,
                _form.Title,
                message,
                infoMode,
                GetDefaultSize().Width
                );

            SetBehaviorStyle("backgroundImage",
                             "url(" + _backgroundBmpFile.Url + ")");
            SetBehaviorStyle(
                "paddingTop",
                _backgroundBmpFile.UnderlyingBitmap.Height + 8
                );
        }
示例#30
0
        /// <summary>
        /// Обрабатывает изображения
        /// </summary>
        public void ResizingImages(FileInfo[] files)
        {
            int          countFiles   = files.Count();
            ImageCreator imageCreator = new ImageCreator();
            int          i            = 0; // итерация

            foreach (var img in files)
            {
                try
                {
                    if (transferParams.AllowedPicTypes.Contains(img.Extension.ToLower()))
                    {
                        string barcode     = $"{img.Name.Substring(0, img.Name.LastIndexOf("_"))}";
                        string saveImgPath = $"{transferParams.To}{barcode}";

                        if (!Directory.Exists(saveImgPath))
                        {
                            Directory.CreateDirectory(saveImgPath);
                        }

                        ImageItemHelper[] imageSizes = new ImageItemHelper[]
                        {
                            new ImageItemHelper(img.FullName, $"{saveImgPath}\\{barcode}_1_mini.jpg",
                                                200, 200, "center", "center", null),
                            new ImageItemHelper(img.FullName, $"{saveImgPath}\\{barcode}_1_preview.jpg",
                                                400, 400, "center", "center", null),
                            new ImageItemHelper(img.FullName, $"{saveImgPath}\\{barcode}_1.jpg",
                                                1150, 600, null, null, "width")
                        };
                        imageCreator.SaveImages(imageSizes);
                        i++;
                        if (i % 100 == 0)
                        {
                            SrvcLogger.Info("{info}", $"обработано {i} изображений из {countFiles}");
                        }
                    }
                }
                catch (Exception e)
                {
                    SrvcLogger.Error("{error}", e.ToString());
                }
            }
        }
示例#31
0
        /// <summary>
        /// Calls the Start remote procedure (maybe many times) and gets hold
        /// of the scanned image
        /// </summary>
        /// <param name="handle">The handle to the device</param>
        /// <param name="userName">The user name</param>
        /// <param name="password">The password</param>
        /// <param name="cancelToken">The cancellation token</param>
        /// <returns>The scanned image</returns>
        internal BitmapSource Scan(int handle,
                                   string userName,
                                   string password,
                                   CancellationToken cancelToken)
        {
            cancelToken.Register(() => Cancel(handle));

            int  pixelsPerLine;
            int  lines;
            int  depth;
            bool littleEndian;
            bool color;

            byte[] data;
            using (var ms = new MemoryStream())
            {
                int bytesPerLine;
                using (var stream = DoScan(handle,
                                           userName,
                                           password,
                                           true,
                                           ms,
                                           cancelToken,
                                           out bytesPerLine,
                                           out pixelsPerLine,
                                           out lines,
                                           out depth,
                                           out littleEndian,
                                           out color))
                {
                    data = stream.ToArray();
                }
            }

            var ret = ImageCreator.ToBitmap(data,
                                            pixelsPerLine,
                                            lines,
                                            depth,
                                            littleEndian,
                                            color);

            return(ret);
        }
示例#32
0
        private void Set_DrcTex(object sender, RoutedEventArgs e)
        {
            string path = System.IO.Path.Combine(Directory.GetCurrentDirectory(), "bin", "createdIMG", "bootDrcTex.png");

            ImageCreator ic;

            if (!string.IsNullOrEmpty(mvm.RomPath))
            {
                if (new FileInfo(mvm.RomPath).Extension.ToLower() == ".gb")
                {
                    ic = new ImageCreator(false, GameBaseClassLibrary.GameConsoles.GBA, "bootDrcTex");
                }
                else if (new FileInfo(mvm.RomPath).Extension.ToLower() == ".gbc")
                {
                    ic = new ImageCreator(true, GameBaseClassLibrary.GameConsoles.GBA, "bootDrcTex");
                }
                else
                {
                    ic = new ImageCreator(GameBaseClassLibrary.GameConsoles.GBA, "bootDrcTex");
                }
            }
            else
            {
                ic = new ImageCreator(GameBaseClassLibrary.GameConsoles.GBA, "bootDrcTex");
            }

            try
            {
                ic.Owner = mvm.mw;
            }
            catch (Exception)
            {
            }
            ic.ShowDialog();
            ic.Dispose();
            if (File.Exists(path) && mvm.CheckTime(new FileInfo(path).CreationTime))
            {
                mvm.GameConfiguration.TGADrc.ImgPath   = path;
                mvm.GameConfiguration.TGADrc.extension = new FileInfo(path).Extension;
                drc.Text          = path;
                drcIMG.Visibility = Visibility.Visible;
            }
        }
 internal static HandleRef getCPtr(ImageCreator obj) {
   return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
 }
示例#34
0
        public MainWindow()
        {
            this.InitializeComponent();

            deepzoomNS = "http://schemas.microsoft.com/deepzoom/2008";
            openzoomNS = "http://ns.openzoom.org/2008";

            imageCreator = new ImageCreator();
            imageCreator.TileSize = DEFAULT_TILE_SIZE;
            imageCreator.TileOverlap = DEFAULT_TILE_OVERLAP;

            imagesFormData = (ImagesFormData)(Resources["imagesFormData"]);
            generalFormData = (GeneralFormData)(Resources["generalFormData"]);
            sourceFormData = (SourceFormData)(Resources["sourceFormData"]);
            pyramidFormData = (PyramidFormData)(Resources["pyramidFormData"]);

            // Create app data directory
            applicationDirectoryPath = Path.Combine(System.Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), applicationDirectory);

            if (!Directory.Exists(applicationDirectoryPath))
                Directory.CreateDirectory(applicationDirectoryPath);

            generalFormData.OutputFolderPath = applicationDirectoryPath;
        }
示例#35
0
 public static void ReplaceImageCreator(ImageCreator creator) {
   VisionLabPINVOKE.Image_ReplaceImageCreator(ImageCreator.getCPtr(creator));
   if (VisionLabPINVOKE.SWIGPendingException.Pending) throw VisionLabPINVOKE.SWIGPendingException.Retrieve();
 }
示例#36
0
 public CandyService(ImageCreator imageCreator)
 {
     this.imageCreator = imageCreator;
 }
        /// <summary>
        /// Create deep zoom image here
        /// </summary>
        private void progressBarWorker_DoWork(object sender, DoWorkEventArgs e)
        {
            String[] strings = Regex.Split(imagePath, imageName);
            String srcFolderPath = strings[0];
            String destFolderPath = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location) + "\\Data\\Images\\DeepZoom";

            ImageCreator ic = new ImageCreator();

            ic.TileFormat = ImageFormat.Jpg;
            ic.TileOverlap = 1;
            ic.TileSize = 256;
            ic.ImageQuality = 0.92;
            ic.UseOptimizations = true;
            Directory.CreateDirectory(destFolderPath + "\\" + imageName);

            string target = destFolderPath + "\\" + imageName + "\\dz.xml";

            ic.Create(imagePath, target);
            ic = null;
            System.GC.Collect();
            System.GC.Collect();
            Thread.Sleep(0);
        }
示例#38
0
        //public CassetteExtension(string path) : base(path)  {  }
        //public CassetteExtension(DirectoryInfo dir, string cassName, string fn, string dn, XElement db) :
        //    base(dir, cassName, fn, dn, db) { }
        /// <summary>
        /// Вычисляет превьюшки для фоток. Режим - набор (подмножество) букв "smn". Возвращает Uri оригинала.
        /// </summary>
        /// <param name="iisstore"></param>
        /// <param name="regimes"></param>
        /// <returns></returns>
        public static Uri MakePhotoPreviews(this Cassette cassette, XElement iisstore, string regimes)
        {
            string ur = iisstore.Attribute(ONames.AttUri).Value;
            string original = iisstore.Attribute(ONames.AttOriginalname).Value;
            string filePath = ur.Substring(ur.Length - 9);
            string imageSource = cassette.Dir.FullName + "/originals/" + filePath + original.Substring(original.LastIndexOf('.'));

            Uri _source = null;
            try
            {
                _source = new Uri(imageSource);
            }
            catch(Exception exc)
            {
                Fogid.Cassettes.LOG.WriteLine(exc.Message + " Не загрузился файл " + iisstore.ToString());
                return null;
            }

            BitmapImage bi = new BitmapImage(_source);
            double width = (double)bi.PixelWidth;
            double height = (double)bi.PixelHeight;
            // добавляем информацию в iisstore, вычисляя width и height
            XAttribute att_width = iisstore.Attribute("width");
            if(att_width == null) iisstore.Add(new XAttribute("width", width.ToString()));
            else att_width.Value = width.ToString();
            XAttribute att_height = iisstore.Attribute("height");
            if(att_height == null) iisstore.Add(new XAttribute("height", height.ToString()));
            else att_height.Value = height.ToString();
            // Трансформации
            var transformAtt = iisstore.Attribute("transform");
            if(transformAtt == null) { transformAtt = new XAttribute("transform", ""); iisstore.Add(transformAtt); }
            int nrotations = transformAtt.Value.Length;
            BitmapSource bs = new TransformedBitmap(bi, new System.Windows.Media.RotateTransform(90 * nrotations));

            double dim = (width > height ? width : height);
            if(regimes.Contains('s'))
                ImageLab.TransformSave(bs, double.Parse(cassette.GetPreviewParameter(iisstore, "small", "previewBase")) / dim,
                    int.Parse(cassette.GetPreviewParameter(iisstore, "small", "qualityLevel")),
                    cassette.Dir.FullName + "/documents/small/" + filePath + ".jpg");
            if(regimes.Contains('m'))
                ImageLab.TransformSave(bs, double.Parse(cassette.GetPreviewParameter(iisstore, "medium", "previewBase")) / dim,
                    int.Parse(cassette.GetPreviewParameter(iisstore, "medium", "qualityLevel")),
                    cassette.Dir.FullName + "/documents/medium/" + filePath + ".jpg");
            if(regimes.Contains('n'))
                ImageLab.TransformSave(bs, double.Parse(cassette.GetPreviewParameter(iisstore, "normal", "previewBase")) / dim,
                    int.Parse(cassette.GetPreviewParameter(iisstore, "normal", "qualityLevel")),
                    cassette.Dir.FullName + "/documents/normal/" + filePath + ".jpg");
            if(regimes.Contains('z'))
            {
                ImageCreator icreator = new ImageCreator { ImageQuality = 0.8 };
                if(!Directory.Exists(cassette.Dir.FullName + "/documents/deepzoom"))
                    Directory.CreateDirectory(cassette.Dir.FullName + "/documents/deepzoom");
                if(!Directory.Exists(cassette.Dir.FullName + "/documents/deepzoom/" + filePath.Substring(0, 4)))
                    Directory.CreateDirectory(cassette.Dir.FullName + "/documents/deepzoom/" + filePath.Substring(0, 4));
                var destinationPath = cassette.Dir.FullName + "/documents/deepzoom/" + filePath;
                icreator.Create(imageSource, destinationPath + ".xml");
                // тестирование
                Sarc.Create(destinationPath + ".sarc2", new FileSystemInfo[]
                {
                    new FileInfo(cassette.Dir.FullName + "/documents/deepzoom/" + filePath + ".xml"),
                    new DirectoryInfo(cassette.Dir.FullName + "/documents/deepzoom/" + filePath + "_files")
                });
                File.Delete(cassette.Dir.FullName + "/documents/deepzoom/" + filePath + ".xml");
                Directory.Delete(cassette.Dir.FullName + "/documents/deepzoom/" + filePath + "_files", true);

                //if(regimes.Contains("a"))
                //{
                //    Archive.ToArchive.Create(destinationPath+".sarc", new Dictionary<string, string>
                //                                                  {
                //                                                      {destinationPath + "_files",   filePath.Substring(5) + "_files"},
                //                                                      {destinationPath + ".xml", ""}
                //                                                  });
                //}
            }
            return _source;
        }
示例#39
0
        public void TileImages()
        {
            if (!Directory.Exists(Up.CollectionDeepzoomPath))
            {
                Directory.CreateDirectory(Up.CollectionDeepzoomPath);
            }

            if (!Directory.Exists(Up.CollectionDeepzoomPath + "_tmp"))
            {
                Directory.CreateDirectory(Up.CollectionDeepzoomPath + "_tmp");
            }


            List<string> images = GetCollectionImages();
            List<string> data = new List<string>();

            //sort by filename
            int offset = 4;
            var sortedFiles = from imgF in images
                              orderby Int32.Parse(imgF.Substring(0, imgF.Length - offset)) ascending
                              select imgF;

            IList<string> sortedFileList = sortedFiles.ToList();
            UpdateProgressBar(0, "Generating Images");

            
            
            int numImages = sortedFiles.Count();
            int updateInterval =  Convert.ToInt32(Math.Ceiling(numImages / 100.0));
            //MessageBox.Show(sortedFiles.Count().ToString());
            
            string timeInterval = DateTime.Now.ToString();
            int count = 0;
            ImageCreator ic = new ImageCreator();
            ic.TileSize = 512;
            ic.TileFormat = ImageFormat.Png;
            ic.ImageQuality = 0.92;
            ic.TileOverlap = 0;
            ic.MaxLevel = Convert.ToInt32(Math.Log(ic.TileSize, 2));
            //Parallel.For(0, numImages, i =>
            for (int i = 0; i < numImages; i++)
            {
                string image = sortedFileList[i];
                if ((count % updateInterval) == 0)
                {
                    int progValue = Convert.ToInt32(Math.Round((double)count / sortedFiles.Count() * 100, 0));
                    UpdateProgressBar(progValue, "Generating Images");
                }
                count++;

                string target = Up.CollectionDeepzoomPath + "\\" + image.Substring(0, (image.Length - 4)) + ".xml";
                data.Add(target);
                ic.Create(Up.CollectionImagePath + "\\" + image, target);
                //TileSingleImage(image, target);
            //});
            }
            timeInterval += "\n" + DateTime.Now.ToString();
            //MessageBox.Show(timeInterval);

            /*
            foreach (string image in sortedFiles)
            {
                string target = Up.CollectionDeepzoomPath + "\\" + System.IO.Path.GetFileNameWithoutExtension(image);
                data.Add(System.IO.Path.ChangeExtension(target, ".xml"));
            }

            
            Parallel.ForEach(sortedFiles, (image, state, count) =>
            {
                int progValue = Convert.ToInt32(Math.Round((double)count / sortedFiles.Count() * 100, 0));
                UpdateProgressBar(progValue, "Generating Images");
                TileSingleImage(image);
            });
            */

            CollectionCreator cc = new CollectionCreator();
            cc.TileSize = 512;
            cc.TileFormat = ImageFormat.Png;
            cc.ImageQuality = 0.92;
            cc.TileOverlap = 0;
            cc.MaxLevel = Convert.ToInt32(Math.Log(cc.TileSize, 2));
            Dispatcher.Invoke(System.Windows.Threading.DispatcherPriority.Normal, new Action(delegate()
            {
                progressBar1.Visibility = System.Windows.Visibility.Hidden;
                progressText1.Text = "Processing Images";
            }));
            //UpdateProgressBar(0, "Processing Images");
            /*
            Directory.CreateDirectory(Up.CollectionDeepzoomPath + "\\" + Up.CollectionName + "_deepzoom_files");
            Bitmap img1px = new Bitmap(1, 1);
            for (int i = 0; i <= cc.MaxLevel; i++)
            {
                string levelDir = Up.CollectionDeepzoomPath + "\\" + Up.CollectionName + "_deepzoom_files" + "\\" + i.ToString();
                Directory.CreateDirectory(levelDir);
                img1px.Save(levelDir + "\\0_0.png");
            }

            StreamWriter sw = new StreamWriter(Up.CollectionDeepzoomPath + "\\" + Up.CollectionName + "_deepzoom.xml");
            sw.Write("<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Collection MaxLevel=\"{0}\" TileSize=\"{1}\" Format=\"{2}\" NextItemId=\"{3}\" ServerFormat=\"{4}\" xmlns=\"http://schemas.microsoft.com/deepzoom/2009\">\n<Items>",
                    cc.MaxLevel,
                    cc.TileSize,
                    cc.TileFormat,
                    data.Count,
                    cc.ServerFormat);
            
            for (int i = 0; i < numImages; i++)
            {
                string image = sortedFileList[i];
                string name = image.Substring(0, (image.Length - 4));
                string xml = name + ".xml";
                sw.WriteLine(
                    "<I Id=\"{0}\" N=\"{0}\" Source=\"{0}.xml\"><Size Width=\"{1}\" Height=\"{1}\" /></I>",
                    name,
                    cc.TileSize
                    );
            }
            sw.WriteLine("</Items>\n</Collection>");
            sw.Close();
            */
            cc.Create(data, Up.CollectionDeepzoomPath + "\\" + Up.CollectionUid + "_deepzoom");
        }
示例#40
0
 private void TileSingleImage(string image, string target)
 {
     ImageCreator ic = new ImageCreator();
     ic.TileSize = 512;
     ic.TileFormat = ImageFormat.Png;
     ic.ImageQuality = 0.92;
     ic.TileOverlap = 0;
     ic.MaxLevel = Convert.ToInt32(Math.Log(ic.TileSize, 2));
     ic.Create(image, target);
 }
示例#41
0
文件: Form1.cs 项目: photomedia/DDV
        private void DeepZoomDLL_doWork(object sender, DoWorkEventArgs e)
        {
            List <object> genericlist = e.Argument as List <object>;
                string destinationFile = (string) genericlist[0];
                string fNameNoExtension = (string) genericlist[1];
                int txtTileSize = (int) genericlist[2];

                //MessageBox.Show(fNameNoExtension);

                ImageCreator ic = new ImageCreator();
                ic.TileSize = txtTileSize;
                ic.TileOverlap = 1;
                ic.TileFormat = Microsoft.DeepZoomTools.ImageFormat.Png;
                //ic.UseOptimizations = true;
                ic.Create(destinationFile, "output\\" + fNameNoExtension);
        }
示例#42
0
        // Creates the DeepZoom images.
        // Should throw an exception if the DeepZoom creation fails (for instance if the image is broken)
        public static void createDeepZoomImages(artwork aw)
        {
            string imagePath = aw.path;
            string imageName = aw.uniqueName;
            string destFolderPath = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location) + "\\Data\\Images\\DeepZoom";

            ImageCreator ic = new ImageCreator();
            ic.TileFormat = ImageFormat.Jpg;
            ic.TileOverlap = 1;
            ic.TileSize = 256;
            ic.ImageQuality = 0.92;
            ic.UseOptimizations = true;
            Directory.CreateDirectory(destFolderPath + "\\" + imageName);
            string target = destFolderPath + "\\" + imageName + "\\dz.xml";
            ic.Create(imagePath, target);
            ic = null;
            System.GC.Collect();
        }
        private void createDZ_Click(object sender, RoutedEventArgs e)
        {
            String[] strings = Regex.Split(imagePath, imageName);
            String srcFolderPath = strings[0];
            String destFolderPath = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location) + "\\Data\\Images\\DeepZoom";
            ImageCreator ic = new ImageCreator();

            ic.TileFormat = ImageFormat.Jpg;
            ic.TileOverlap = 1;
            ic.TileSize = 256;
            ic.ImageQuality = 0.92;
            Directory.CreateDirectory(destFolderPath + "\\" + imageName);

            string target = destFolderPath + "\\" + imageName + "\\dz.xml";

            ic.Create(imagePath, target);
            MessageBox.Show("Create Deep Zoom image successfully!");
        }
 public ActionResult HelloAction()
 {
     ImageCreator creator = new ImageCreator();
     ImageSandpitModel model = new ImageSandpitModel();
     model.Image1 = creator.GetImage();
     return View(model);
 }