/// <summary> /// /// </summary> private void Excate(SourceTaskItem sourceTask) { try { string sqlStr = "SELECT * FROM Users WHERE ISAsync='0'"; _log.InfoFormat(DateTime.Now + Environment.NewLine + "WorkerInfoSyscTask sqlStr:{0}", sqlStr); DataTable dt = new SQLHelper(sourceTask.ConnectionString).ExecuteQuery(sqlStr, CommandType.Text); //DataTable dt = Query.ExecuteSQLQuery(sqlStr, SystemEnvironment.Instance.DefaultDataSource); List <WorkerInfo> WorkerInfos = dt.AsEnumerable().Select(x => new WorkerInfo() { name = ConvertObject.ToString(x["Names"]), idCardNum = ConvertObject.ToString(x["ICNum"]), gender = ConvertObject.ToInt32(x["Sex"]), //constructionPermitNum = "410185201903070501", constructionPermitNum = "SGXKZZZ", bankCardNum = ConvertObject.ToString(x["CardNo"]), attenNum = ConvertObject.ToString(x["No"]), nation = ConvertObject.ToString(x["Nation"]), headPicBase64 = PictureTools.GetBase64String(ConvertObject.ToString(x["Pic"])),//Pic nativePlace = "", phone = ConvertObject.ToString(x["Phone"]), workState = 1, entranceTime = ConvertObject.ToString(x["StartDate"]), }).ToList(); //工人信息上传 if (WorkerInfos.Count > 0) { string result = new HttpMethod().SendWorkerInfo(WorkerInfos); _log.InfoFormat("WorkerInfoSyscTask result:{0}", result); sqlStr = string.Format("UPDATE Users SET ISAsync = '1' WHERE ISAsync = '0'"); int resultint = new SQLHelper(sourceTask.ConnectionString).ExecuteNonQuery(sqlStr, CommandType.Text); _log.InfoFormat("WorkerInfoSyscTask resultint:{0}", resultint); } } catch (Exception ex) { _log.InfoFormat(DateTime.Now + Environment.NewLine + "WorkerInfoSyscTask 发生异常:{0}", ex.Message); } }
// // Получение базы изображений // public static string getPrictures(string picPath, int picSize) { string picFile = "pics.txt"; string result = ""; Flickr flickr = new Flickr("a03ec58d1b94489ebdd0ac6372942ec6"); var options = new PhotoSearchOptions { Tags = "colorful", PerPage = 500, Page = 1 }; PhotoCollection photos = flickr.PhotosSearch(options); WebClient client = new WebClient(); foreach (Photo photo in photos) { PictureTools.avColor av; client.DownloadFile(photo.SquareThumbnailUrl, picPath + "/" + photo.SquareThumbnailUrl.Split('/').Last()); using (Image img = Image.FromFile(picPath + "/" + photo.SquareThumbnailUrl.Split('/').Last())) { Bitmap bmp = new Bitmap(img, picSize, picSize); img.Dispose(); bmp.Save(picPath + "/" + photo.SquareThumbnailUrl.Split('/').Last()); av = PictureTools.getAvColor((Bitmap)bmp.Clone()); bmp.Dispose(); } result += String.Format("<img src='/Home/Data/{0}' width='30px'/> <div style='display: inline-flex; width:30px; height: 30px; background-color: rgb({1}, {2}, {3})'></div><br>", photo.SquareThumbnailUrl.Split('/').Last(), av.R, av.G, av.B); using (StreamWriter sw = System.IO.File.AppendText(picPath + "/" + picFile)) { sw.WriteLine(photo.SquareThumbnailUrl.Split('/').Last() + ";" + av.R + "," + av.G + "," + av.B); } } return(result); }
public static void GenerateThumbnail(MediaViewModel mediaViewModel) { switch (mediaViewModel.MediaType) { case MediaType.Photo: ThreadPool.QueueUserWorkItem(delegate { PictureTools.GenerateThumbnailOfPicture(mediaViewModel.AbsoluteURL, mediaViewModel.ID_Media, setImage); }); break; case MediaType.Video: ThreadPool.QueueUserWorkItem(delegate { VideoTools.CaptureScreen(mediaViewModel.AbsoluteURL, mediaViewModel.ID_Media, new TimeSpan(0, 0, 30, 0), "Thumbnail", 0.5, null, setImage); }); break; case MediaType.Musique: ThreadPool.QueueUserWorkItem(delegate { AudioTools.ReadMP3CoverArt(mediaViewModel.AbsoluteURL, mediaViewModel.ID_Media, setImage); }); break; case MediaType.Autre: break; default: throw new ArgumentOutOfRangeException(); } }
public static string processing(string picPath, string picture, int picSize) { string picFile = "pics.txt"; string result = ""; Bitmap bmp = new Bitmap(picPath + "/UsersPhoto/" + picture); for (int i = 0; i < bmp.Height - picSize; i += picSize) { for (int j = 0; j < bmp.Width - picSize; j += picSize) { // Определяем средний цвет окна подопытного изображения PictureTools.avColor avCt = new PictureTools.avColor(); for (int k = 0; k < picSize; k++) { for (int q = 0; q < picSize; q++) { Color c = bmp.GetPixel(j + k, i + q); // Читаем каждый пиксель подопытной картинки avCt.R += c.R; avCt.G += c.G; avCt.B += c.B; } } avCt.R /= picSize * picSize; avCt.G /= picSize * picSize; avCt.B /= picSize * picSize; Color CMain = Color.FromArgb(avCt.R, avCt.G, avCt.B); // Прогоняем по всей базе изображений полученный средний цвет // и считаем расстояние между цветами (Эвклидова мера) Dictionary <string, double> distList = new Dictionary <string, double>(); foreach (string str in System.IO.File.ReadAllLines(picPath + "/" + picFile)) { string[] SColor = str.Split(';')[1].Split(','); Color ct = Color.FromArgb(Int32.Parse(SColor[0]), Int32.Parse(SColor[1]), Int32.Parse(SColor[2])); distList.Add(str.Split(';')[0], PictureTools.getDist(ct, CMain)); // Считаем расстояние } string winner = ""; foreach (var item in distList) { if (item.Value.Equals(distList.Values.Min())) { winner = item.Key; } } result += String.Format("<img src='/Home/Data/{0}' />", winner); } result += "<br>"; } bmp.Dispose(); return(result); }
/// <summary> /// Opens and loads palette from selected P56 file in the palBox /// </summary> private void OpenP56() { if (File.Exists(palFile)) { palette.Clear(); try { byte[] buffer = File.ReadAllBytes(palFile); PictureType type = PictureTools.GetType(buffer); Picture p = PictureTools.Load(buffer, type); this.Text = defaultTxt + " " + palFile; if (p != null) { if (p.SCIPalette != null) { if (p.SCIPalette.Colors != null) { paletteControl1.ShowPalette(p.SCIPalette.Colors); this.LoadedColors = p.SCIPalette.Colors; palInfoLbl.Text = string.Format("Palette type - {0}, {1} Colors", type, LoadedColors.Length); } else { MessageBox.Show("Colors is null"); } } else { MessageBox.Show("Palette is null"); } } else { MessageBox.Show("P is null"); } if (p.Cells != null) { if (p.Cells.Count != 0 && p.Cells[0] != null) { if (p.Cells[0].CellPicture != null) { ResetPictureBox(p.Cells[0].CellPicture); } } } } catch (Exception ex) { MessageBox.Show(string.Format("{0} : {1}.", ex.Message, ex.StackTrace)); } } else { MessageBox.Show("Unknown Error"); } // Enable save if (picBox.Image != null) { saveAsBtn.Enabled = true; saveAsFileMenu.Enabled = true; } else { saveAsBtn.Enabled = false; saveAsFileMenu.Enabled = false; } }
public Picture AnalyzeAndSave(Picture picture, AddPictureModel model, HttpPostedFileBase file) { // зберігаю зображення string picture_name = picture.id.ToString() + Path.GetExtension(file.FileName); string picture_folder_name = Path.Combine(picture_folder, picture_name); file.SaveAs(picture_folder_name); picture.path = Path.Combine("Picture", picture_name); // записую відносний шлях в обєкт бази даних // отримую всі зображення з файлу var images = MpoParser.GetImageSources(picture_folder_name); Image img_for_thumb; if (!images.Any()) // якщо 2D { img_for_thumb = Image.FromFile(picture_folder_name); picture.type = "2D"; } else // якщо 3D { if (model.isAdvanced && model.isTo2d) // якщо юзер хоче зберегти 3D зображення в 2D { img_for_thumb = images.ElementAt(model.leftOrRight); picture_name = Path.ChangeExtension(picture_name, ".JPG"); picture.type = "2D"; System.IO.File.Delete(picture_folder_name); // видаляю непотрібний файл } else { img_for_thumb = images.ElementAt(0); // беру перше зображення (з лівої камери) // змінюю формат оригіналу на .mpo (на сервер заавжди приходить зображення формату JPG) picture_name = Path.ChangeExtension(picture_name, ".MPO"); file.SaveAs(Path.Combine(picture_folder, picture_name)); picture.type = "3D"; } img_for_thumb.Save(Path.ChangeExtension(picture_folder_name, ".JPG")); // зберігаю зображення, з якого буду робити прев'ю picture.path = Path.Combine("Picture", picture_name); } var original_length = PictureTools.GetByteSize(img_for_thumb).LongLength; // створюю прев'ю var thumb_sm = PictureTools.MakeThumbnail(img_for_thumb, 155, 97); var thumb_sm_length = PictureTools.GetByteSize(thumb_sm).LongLength; if (original_length > thumb_sm_length) { thumb_sm.Save($"{picture_folder}/{picture.id}-thumb_sm.JPG"); } var thumb_md = PictureTools.MakeThumbnail(img_for_thumb, 280, 999); var thumb_md_length = PictureTools.GetByteSize(thumb_md).LongLength; if (original_length > thumb_md_length) { thumb_md.Save($"{picture_folder}/{picture.id}-thumb_md.JPG"); if (Path.GetExtension(picture.path) == ".MPO") { System.IO.File.Delete(picture_folder_name); // видаляю непотрібний файл } } return(picture); }