void Start() { _imageQueue = new Queue <Sprite>(); nextImageButton.onClick.AddListener(NextImage); _imageFetcher = new ImageFetcher(this); StartCoroutine(_imageFetcher.GetGallery()); }
/// <summary> /// Generates a document on the server and returns the full url to it. /// </summary> /// <param name="output"></param> /// <returns></returns> public static string GenerateImageOnYumlServer(YumlClassDiagram output) { Logger.Log(string.Format("Generating image on yuml server, class diagram: '{0}'", output), LogLevel.High); ServicePointManager.Expect100Continue = false; var req = WebRequest.Create(YumlClassUrl); //req.Proxy = new System.Net.WebProxy(ProxyString, true); //Add these, as we're doing a POST req.ContentType = "application/x-www-form-urlencoded"; req.Method = "POST"; //We need to count how many bytes we're sending. Post'ed Faked Forms should be name=value& string diagramDescriptionRaw = output.ToString(); string diagramDescription = "dsl_text=" + EncodeForHttpPost(diagramDescriptionRaw); byte[] bytes = Encoding.ASCII.GetBytes(diagramDescription); req.ContentLength = bytes.Length; using (var outputStream = req.GetRequestStream()) { outputStream.Write(bytes, 0, bytes.Length); //Push it out there outputStream.Close(); } string htmlContent; using (var response = req.GetResponse()) { using (var reader = new StreamReader(response.GetResponseStream())) { htmlContent = reader.ReadToEnd().Trim(); } } var imageFetcher = new ImageFetcher(htmlContent); var thread = new Thread(imageFetcher.FetchImageSrc); thread.SetApartmentState(ApartmentState.STA); thread.Start(); thread.Join(); return(imageFetcher.ImageUrl); }
private void Navigate(PaginationAction paginationAction) { switch (paginationAction) { case PaginationAction.First: CurrentPage = 1; ItemSource = new ObservableCollection <object>(ImageFetcher.GetItemsFromDataSource(CurrentPage, PageSize, searchString)); break; case PaginationAction.Last: CurrentPage = TotalPages; ItemSource = new ObservableCollection <object>(ImageFetcher.GetItemsFromDataSource(CurrentPage, PageSize, searchString)); break; case PaginationAction.Next: if (CurrentPage < TotalPages - 1) { CurrentPage++; ItemSource = new ObservableCollection <object>(ImageFetcher.GetItemsFromDataSource(CurrentPage, PageSize, searchString)); } break; case PaginationAction.Previous: if (CurrentPage > 1) { CurrentPage--; ItemSource = new ObservableCollection <object>(ImageFetcher.GetItemsFromDataSource(CurrentPage, PageSize, searchString)); } break; case PaginationAction.OnInit: CurrentPage = 1; int totalRecords = ImageFetcher.GetTotalRecords(searchString); if (totalRecords > 0) { TotalPages = Convert.ToUInt32(totalRecords) / PageSize; } ItemSource = new ObservableCollection <object>(ImageFetcher.GetItemsFromDataSource(CurrentPage, PageSize, searchString)); break; } }
public ActionResult Post([FromBody] SpriteDetails details) { //sanity if (!details.ImagePaths.Any() || (details.Height < 1 || details.Width < 1)) { return(this.BadRequest()); } var tasks = details.ImagePaths.Select(url => { var fetchTask = new ImageFetcher().FetchImage(url); return(fetchTask.ContinueWith(image => new Yearg.ImageCenterCroper().CropImage(image.Result, details.Height, details.Width))); }).ToArray(); Task.WaitAll(tasks); var newImage = new ImageConcatenator().CreateSprite(tasks.Select(z => z.Result).ToList(), details.Height, details.Width); var fs = new MemoryStream(); newImage.SaveAsJpeg(fs); return(File(fs, "image/jpeg")); }
public string[] GetImages() { var imf = new ImageFetcher(); return(imf.GetImagesPaths()); }
private async Task SendImageAsync(ImageFetcher Fetcher, params string[] Args) { int Count = 1; if (Args.Length > 0) { if (int.TryParse(Args[Args.Length - 1], out Count)) { Args = Args.Take(Args.Length - 1).ToArray(); if (Count < 1) { await Context.Channel.SendMessageAsync(GetGlobalEntry("NegativeCount")); return; } else if (Count > 10) { Count = 10; } } else { Count = 1; } } List <string> ImageUrls = await Fetcher.GetImagesAsync(Args, Global.IsNsfwChannel(Settings, Context.Channel.Id), Count); if (ImageUrls.Count > 0) { int[] Sent = new int[Count]; for (int i = 0; i < Count; i++) { if (ImageUrls.Count == i) { await Context.Channel.SendMessageAsync(GetGlobalEntry("NoMoreImagesOfTag")); break; } int Random; if (Count >= ImageUrls.Count) { Random = i; } else { do { Random = Global.Random.Next(0, ImageUrls.Count); }while (Sent.Contains(Random)); } string Url = ImageUrls[Random].Replace("\\/", "/"); EmbedBuilder Builder = new EmbedBuilder { Color = await Global.GetAverageColorAsync(Url), ImageUrl = Url, Title = GetGlobalEntry("ImgUrlNoLoad", "N", (i + 1).ToString()), Url = Url }; await Context.Channel.SendMessageAsync("", embed : Builder.Build()); } } else { await Context.Channel.SendMessageAsync(GetGlobalEntry("NoImagesOfTag", "TAGS", string.Join(" ", Args))); } }