internal static ShapeCollection CreateForSlide(SlidePart slidePart, SCSlide slide) { var phService = new PlaceholderService(slidePart.SlideLayoutPart); var transformFactory = new LocationParser(phService); var geometryFactory = new GeometryFactory(phService); var shapeContextBuilder = new ShapeContext.Builder(slidePart); var chartGrFrameHandler = new ChartGraphicFrameHandler(); var tableGrFrameHandler = new TableGraphicFrameHandler(shapeContextBuilder, transformFactory); var oleGrFrameHandler = new OleGraphicFrameHandler(shapeContextBuilder, transformFactory); var pShapeHandler = new AutoShapeCreator(shapeContextBuilder, transformFactory); var pictureHandler = new PictureHandler(shapeContextBuilder, transformFactory, geometryFactory); var sdkGroupShapeHandler = new PGroupShapeHandler(shapeContextBuilder, transformFactory, geometryFactory, slidePart); pShapeHandler.Successor = sdkGroupShapeHandler; sdkGroupShapeHandler.Successor = oleGrFrameHandler; oleGrFrameHandler.Successor = pictureHandler; pictureHandler.Successor = chartGrFrameHandler; chartGrFrameHandler.Successor = tableGrFrameHandler; P.ShapeTree shapeTree = slidePart.Slide.CommonSlideData.ShapeTree; var shapes = new List <IShape>(shapeTree.Count()); foreach (OpenXmlCompositeElement compositeElement in shapeTree.OfType <OpenXmlCompositeElement>()) { IShape shape = pShapeHandler.Create(compositeElement, slide); if (shape != null) { shapes.Add(shape); } } return(new ShapeCollection(shapes)); }
/// <summary> /// Creates collection of the shapes from sdk shape tree. /// </summary> /// <param name="sdkShapeTree"></param> /// <returns></returns> public IList <ShapeEx> FromTree(P.ShapeTree sdkShapeTree) { var sldPhFontService = new SlidePlaceholderFontService(_sdkSldPart); var phService = new PlaceholderService(_sdkSldPart.SlideLayoutPart); var transformFactory = new InnerTransformFactory(phService); var shapeBuilder = new ShapeEx.Builder(); var sdkShapeHandler = new SdkShapeHandler(_preSettings, sldPhFontService, _sdkSldPart, transformFactory, shapeBuilder); var sdkGroupShapeHandler = new SdkGroupShapeHandler(_preSettings, sldPhFontService, _sdkSldPart, transformFactory, shapeBuilder); var oleGrFrameHandler = new OleGraphicFrameHandler(_preSettings, sldPhFontService, _sdkSldPart, transformFactory, shapeBuilder); var pictureHandler = new PictureHandler(_preSettings, sldPhFontService, _sdkSldPart, transformFactory, shapeBuilder); var chartGrFrameHandler = new ChartGraphicFrameHandler(_preSettings, sldPhFontService, _sdkSldPart, transformFactory, shapeBuilder); var tableGrFrameHandler = new TableGraphicFrameHandler(_preSettings, sldPhFontService, _sdkSldPart, transformFactory, shapeBuilder); sdkShapeHandler.Successor = sdkGroupShapeHandler; sdkGroupShapeHandler.Successor = oleGrFrameHandler; // OLE objects handler must be before pictures handler, cause OLE container can contain p:pic elements, thereby defining OLE as a picture oleGrFrameHandler.Successor = pictureHandler; pictureHandler.Successor = chartGrFrameHandler; chartGrFrameHandler.Successor = tableGrFrameHandler; var shapes = new List <ShapeEx>(sdkShapeTree.Count()); foreach (var openXmlElement in sdkShapeTree) { var shape = sdkShapeHandler.Create(openXmlElement); if (shape != null) { shapes.Add(shape); } } return(shapes); }
private async void OnDeferredImageRequestedHandler(DataProviderRequest request, DataPackage dp) { DataProviderDeferral deferral = request.GetDeferral(); try { StorageFile img = await PictureHandler.AsStorageFile(Items.SelectedItem.Pixels, "ToShare.jpg"); if (img != null) { List <IStorageFile> imageItems = new List <IStorageFile> { img }; dp.SetStorageItems(imageItems); RandomAccessStreamReference imageStreamRef = RandomAccessStreamReference.CreateFromFile(img); dp.Properties.Thumbnail = imageStreamRef; dp.SetBitmap(imageStreamRef); } } catch (Exception e) { throw e; } deferral.Complete(); }
public void ProcessImage(PictureHandler sourceImage, PictureHandler targetImage) { var source = sourceImage.Clone() as PictureHandler; Color eCol, bOw, c; byte e; float error; int i, j; for (int x = 0; x < source.PixelWidth; x++) { for (int y = 0; y < source.PixelHeight; y++) { c = source[x, y]; bOw = c.BlacOrWite(); targetImage[x, y] = bOw; error = c.R - targetImage[x, y].R; e = (byte)Math.Abs(error); eCol = Color.FromRgb(e, e, e); for (i = -1; i < 2; i++) { for (j = -1; j < 2; j++) { if (error > 0) { source[x + i, y + j] = Color.Add(source[x + i, y + j], Color.Multiply(eCol, filter[i + 1, j + 1])); } else { source[x + i, y + j] = Color.Subtract(source[x + i, y + j], Color.Multiply(eCol, filter[i + 1, j + 1])); } } } } } }
private void MainViewModel_AddPictureStarted(object sender, PictureEventArgs e) { try { // egy dialógusablakban bekérjük a fájlnevet OpenFileDialog dialog = new OpenFileDialog(); dialog.CheckFileExists = true; dialog.Filter = "Képfájlok|*.jpg;*.jpeg;*.bmp;*.tif;*.gif;*.png;"; dialog.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyPictures); Boolean?result = dialog.ShowDialog(); if (result == true) { // kép létrehozása (a megfelelő méretekkel) var test = new PictureDTO { ArticleId = e.ArticleId, Image = PictureHandler.OpenAndResize(dialog.FileName, 100) }; //_service.AddImageAsync(test); _mainViewModel.Pictures.Add(test); _editorView.DataContext = _mainViewModel; _editorView.Show(); } } catch { } }
// GET: Pictures public async Task <ActionResult> Index() { var pictures = await PictureHandler.GetPicturesAsync(); ViewBag.Message = (string)TempData["Message"]; return(View(pictures)); }
/// <summary> /// 填充数据 /// </summary> /// <param name="picture"></param> public static bool FillPictureInfo(PictureModel picture) { var info = PictureHandler.GetInnerInfo(picture.EPath); if (info == null) { return(false); } picture.ETags1 = info.Tag1; picture.ETags2 = info.Tag2; picture.EDescription = info.Description; picture.EId = info.Author; var img = Image.FromFile(picture.EPath); picture.EWidth = img.Width; picture.EHeight = img.Height; img.Dispose(); DateTime time; var s = DateTime.TryParseExact(info.TakeTime, "yyyy:MM:dd HH:mm:ss", System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None, out time); picture.ETakeTime = time; return(true); }
public void Setup() { source = Substitute.For <IPrincipal>(); pictureHandler = Substitute.For <PictureHandler>(); SetupConfiguration(); sut = new PrincipalMapper(configuration, pictureHandler); }
public bool LoadPicture(string path) { SourcePicture = ImageHelper.GetPictureHandler(path); var res = SourcePicture != null; Apply(res); return(res); }
public bool LoadPicture(BitmapSource source) { SourcePicture = ImageHelper.GetPictureHandler(source); var res = SourcePicture != null; Apply(res); return(res); }
// GET: Pictures/Create public async Task <ActionResult> Create() { var viewModel = new PictureGroup(); viewModel.Categories = await PictureHandler.GetCategoriesAsync(); viewModel.Formats = new string[] { "Album", "News" }; return(View(viewModel)); }
public void Test_SavePicturesToGlobalFolder() { PictureService pictureService = new PictureService(2, EType.Instructions); List<Picture> pictures = pictureService.GetPictures(); Assert.AreEqual(1, pictureService.GetSize()); PictureHandler pictureHandler = new PictureHandler(pictures); pictureHandler.SavePictures(); }
private void Apply(bool loaded) { if (loaded) { TargetPicture = SourcePicture?.Clone() as PictureHandler; bmp = new WriteableBitmap(TargetPicture?.CreateBitmapSourceHandler()); TargetImage.Source = bmp; Apply(); } }
public void ProcessImage(PictureHandler sourceImage, PictureHandler targetImage) { for (int x = 0; x < sourceImage.PixelWidth; x++) { for (int y = 0; y < sourceImage.PixelHeight; y++) { targetImage[x, y] = sourceImage[x, y].BlacOrWite(Threshold); } } }
public void Test_LoadPictures_NoPictureChosen() { PictureService pictureService = new PictureService(10, EType.Instructions); List<Picture> pictures = pictureService.GetPictures(); Assert.AreEqual(0, pictureService.GetSize()); PictureHandler pictureHandler = new PictureHandler(pictures); pictureHandler.LoadPictures(); }
public void Test_LoadPictures_NotACorrectPath() { PictureService pictureService = new PictureService(2, EType.Instructions); List<Picture> pictures = pictureService.GetPictures(); Assert.AreEqual(1, pictureService.GetSize()); PictureHandler pictureHandler = new PictureHandler(pictures); pictureHandler.LoadPictures(); }
public void ProcessImage(PictureHandler sourceImage, PictureHandler targetImage) { for (int x = 0; x < sourceImage.PixelWidth; x++) { for (int y = 0; y < sourceImage.PixelHeight; y++) { targetImage[x, y] = TransformFunc(sourceImage[x, y]); } } }
private ServiceFacade() { DBHelper dbHelper = new DBHelper("dbHelper"); this.userHandler = new UserHandler(dbHelper); this.topicHandler = new TopicHandler(dbHelper); this.issueHandler = new IssueHandler(dbHelper); this.solutionHandler = new SolutionHandler(dbHelper); this.pictureHandler = new PictureHandler(dbHelper); //this.itemHandler = new ItemHandler(dbHelper); }
public void ProcessImage(PictureHandler sourceImage, PictureHandler targetImage) { for (int x = 0; x < sourceImage.PixelWidth; x++) { for (int y = 0; y < sourceImage.PixelHeight; y++) { Color c = sourceImage[x, y]; byte color = (byte)((c.R + c.G + c.B) / 3); targetImage[x, y] = Color.FromArgb(255, color, color, color); } } }
public PrincipalMapper(IConfiguration configuration, PictureHandler pictureHandler) { if (configuration == null) { throw new ArgumentNullException(nameof(configuration)); } if (pictureHandler == null) { throw new ArgumentNullException(nameof(pictureHandler)); } this.configuration = configuration; this.pictureHandler = pictureHandler; }
private IScrapedElement GetContent(HtmlDocument htmlDoc) { var textHandler = new TextHandler(); var pictureHandler = new PictureHandler(); var passwordHandler = new PasswordHandler(); var deletedHandler = new DeletedHandler(); textHandler.SetNext(pictureHandler) .SetNext(passwordHandler) .SetNext(deletedHandler); return(textHandler.Handle(htmlDoc, "Content")); }
public void ProcessImage(PictureHandler sourceImage, PictureHandler targetImage) { byte b = 255; for (int x = 0; x < sourceImage.PixelWidth; x++) { for (int y = 0; y < sourceImage.PixelHeight; y++) { Color c = sourceImage[x, y]; targetImage[x, y] = Color.FromRgb((byte)(b - c.R), (byte)(b - c.G), (byte)(b - c.B)); } } }
public async Task <ActionResult> Delete(int id, libraryNaturguiden.PictureCategory category) { try { await PictureHandler.DeleteCategoryAsync(id); return(RedirectToAction("Index")); } catch (Exception e) { ViewBag.Error = e.Message; return(View()); } }
public async Task <ActionResult> Delete(int id, libraryNaturguiden.Picture picture) { try { var status = await PictureHandler.DeletePictureAsync(id); TempData["Message"] = status.ToString(); return(RedirectToAction("Index")); } catch (Exception e) { ViewBag.Error = e.Message; return(View()); } }
public static void ReducePicture(PictureModel picture, int width) { var targetPath = new FileInfo(picture.EPath).DirectoryName + "\\snapshot"; if (!System.IO.Directory.Exists(targetPath)) { System.IO.Directory.CreateDirectory(targetPath); } var target = targetPath + "\\" + "snapshot_" + picture.EName; var success = PictureHandler.GetReducedImage(picture.EPath, width, target); picture.ESnapshotPath = target; }
public void ProcessImage(PictureHandler sourceImage, PictureHandler targetImage) { var minmax = sourceImage.Imax - sourceImage.Imin; var cr = (float)255 / minmax.R; var cg = (float)255 / minmax.G; var cb = (float)255 / minmax.B; for (int x = 0; x < sourceImage.PixelWidth; x++) { for (int y = 0; y < sourceImage.PixelHeight; y++) { var c = (sourceImage[x, y] - sourceImage.Imin); targetImage[x, y] = Color.FromRgb((byte)(c.R * cr), (byte)(c.G * cg), (byte)(c.B * cb)); } } }
public void ProcessImage(PictureHandler sourceImage, PictureHandler targetImage) { for (int x = 0; x < sourceImage.PixelWidth; x++) { for (int y = 0; y < sourceImage.PixelHeight; y++) { var c1 = sourceImage[x, y]; int cr = c1.R + OffSet; int r = cr > 255 ? 255 : cr < 0 ? 0 : cr; int cg = c1.G + OffSet; int g = cg > 255 ? 255 : cg < 0 ? 0 : cg; int cb = c1.B + OffSet; int b = cb > 255 ? 255 : cb < 0 ? 0 : cb; targetImage[x, y] = Color.FromRgb((byte)r, (byte)g, (byte)b); } } }
public async Task <ActionResult> Edit(int id, libraryNaturguiden.PictureCategory category) { if (ModelState.IsValid) { try { var status = await PictureHandler.UpdateCategoryAsync(category); return(RedirectToAction("Index")); } catch (Exception e) { ViewBag.Error = e.Message; return(View()); } } ViewBag.Error = "One or more fields was not filled in correctley"; return(View(category)); }
public async Task <ActionResult> Edit(int id, libraryNaturguiden.Picture picture) { if (ModelState.IsValid) { try { var status = await PictureHandler.UpdatePictureAsync(picture); TempData["Message"] = status.ToString(); return(RedirectToAction("Index")); } catch (Exception e) { ViewBag.Error = e.Message; return(View()); } } ViewBag.Error = "One or more fields was not filled in correctley"; return(View(picture)); }
public void ProcessImage(PictureHandler sourceImage, PictureHandler targetImage) { float pixelCount = sourceImage.PixelHeight * sourceImage.PixelWidth; float[] cdfR = new float[256]; float[] cdfG = new float[256]; float[] cdfB = new float[256]; float r, g, b; sourceImage.GetHistogramDataFor(0, out r, out g, out b); cdfR[0] = r; cdfG[0] = g; cdfB[0] = b; for (int i = 1; i < 256; i++) { sourceImage.GetHistogramDataFor(i, out r, out g, out b); cdfR[i] = cdfR[i - 1] + r; cdfG[i] = cdfG[i - 1] + g; cdfB[i] = cdfB[i - 1] + b; } float denominatorR = pixelCount - cdfR[0]; float denominatorG = pixelCount - cdfG[0]; float denominatorB = pixelCount - cdfB[0]; for (int x = 0; x < sourceImage.PixelWidth; x++) { for (int y = 0; y < sourceImage.PixelHeight; y++) { Color c = sourceImage[x, y]; int rr = (int)((cdfR[c.R] - cdfR[0]) / denominatorR * 255); int gg = (int)((cdfG[c.G] - cdfR[0]) / denominatorG * 255); int bb = (int)((cdfB[c.B] - cdfR[0]) / denominatorB * 255); targetImage[x, y] = Color.FromRgb((byte)MathHelper.Limit(rr), (byte)MathHelper.Limit(gg), (byte)MathHelper.Limit(bb)); } } }
public async Task <ActionResult> Create(PictureGroup model) { var img = WebImage.GetImageFromRequest(); if (ModelState.IsValid && img != null) { try { var status = await PictureHandler.CreatePictureAsync(model.Picture, img); TempData["Message"] = status.ToString(); return(RedirectToAction("Index")); } catch (Exception e) { ViewBag.Error = e.Message; return(View(model)); } } ViewBag.Error = "One or more fields was not filled in correctley"; return(View(model)); }
public IList <ShapeEx> FromSldPart(SlidePart sdkSldPart) { var sldPhFontService = new PlaceholderFontService(sdkSldPart); //TODO: make DI var phService = new PlaceholderLocationService(sdkSldPart.SlideLayoutPart); var transformFactory = new InnerTransformFactory(phService); var geometryFactory = new GeometryFactory(phService); var shapeContextBuilder = new ShapeContext.Builder(_preSettings, sldPhFontService, sdkSldPart); var chartGrFrameHandler = new ChartGraphicFrameHandler(shapeContextBuilder, transformFactory); var tableGrFrameHandler = new TableGraphicFrameHandler(shapeContextBuilder, transformFactory); var oleGrFrameHandler = new OleGraphicFrameHandler(shapeContextBuilder, transformFactory); var sdkShapeHandler = new SdkShapeHandler(shapeContextBuilder, transformFactory, geometryFactory); var pictureHandler = new PictureHandler(shapeContextBuilder, transformFactory, geometryFactory, sdkSldPart); var sdkGroupShapeHandler = new SdkGroupShapeHandler(shapeContextBuilder, transformFactory, geometryFactory, sdkSldPart); sdkShapeHandler.Successor = sdkGroupShapeHandler; sdkGroupShapeHandler.Successor = oleGrFrameHandler; // OLE objects handler must be before pictures handler, cause OLE container can contain p:pic elements, // thereby defining OLE as a picture oleGrFrameHandler.Successor = pictureHandler; pictureHandler.Successor = chartGrFrameHandler; chartGrFrameHandler.Successor = tableGrFrameHandler; var sdkShapeTree = sdkSldPart.Slide.CommonSlideData.ShapeTree; var shapes = new List <ShapeEx>(sdkShapeTree.Count()); foreach (var openXmlElement in sdkShapeTree) { var shape = sdkShapeHandler.Create(openXmlElement); if (shape != null) { shapes.Add(shape); } } return(shapes); }
/// <summary> /// 在应用程序由最终用户正常启动时进行调用。 /// 将在启动应用程序以打开特定文件等情况下使用。 /// </summary> /// <param name="e">有关启动请求和过程的详细信息。</param> protected override async void OnLaunched(LaunchActivatedEventArgs e) { Frame rootFrame = Window.Current.Content as Frame; //初始化默认图片 await PictureHandler.SetDefaultPixels(); //初始化数据库 SQLiteService.InitializeDatabase(); //Load DB VM.Init(); //磁贴 TileService.CreateTile(); // 不要在窗口已包含内容时重复应用程序初始化, // 只需确保窗口处于活动状态 if (rootFrame == null) { // 创建要充当导航上下文的框架,并导航到第一页 rootFrame = new Frame(); rootFrame.NavigationFailed += OnNavigationFailed; if (e.PreviousExecutionState == ApplicationExecutionState.Terminated) { //TODO: 从之前挂起的应用程序加载状态 if (ApplicationData.Current.LocalSettings.Values.ContainsKey("NavigationState")) { rootFrame.SetNavigationState((string)ApplicationData.Current.LocalSettings.Values["NavigationState"]); } } else { ApplicationData.Current.LocalSettings.Values.Clear(); } // 将框架放在当前窗口中 Window.Current.Content = rootFrame; } if (e.PrelaunchActivated == false) { if (rootFrame.Content == null) { // 当导航堆栈尚未还原时,导航到第一页, // 并通过将所需信息作为导航参数传入来配置 // 参数 rootFrame.Navigate(typeof(MainPage), e.Arguments); } // 确保当前窗口处于活动状态 Window.Current.Activate(); } //挂起后恢复 SystemNavigationManager.GetForCurrentView().AppViewBackButtonVisibility = rootFrame.CanGoBack ? AppViewBackButtonVisibility.Visible : AppViewBackButtonVisibility.Collapsed; //是否加入返回键 rootFrame.Navigated += OnNavagated; //返回事件 SystemNavigationManager.GetForCurrentView().BackRequested += OnBackRequested; CustomSetting.LoadBg(); }