public BitmapPixelChanges ChangeBrightness(Layer layer, Coordinates coordinates, int toolSize, float correctionFactor) { DoubleCords centeredCoords = CoordinatesCalculator.CalculateThicknessCenter(coordinates, toolSize); Coordinates[] rectangleCoordinates = CoordinatesCalculator.RectangleToCoordinates(centeredCoords.Coords1.X, centeredCoords.Coords1.Y, centeredCoords.Coords2.X, centeredCoords.Coords2.Y); BitmapPixelChanges changes = new BitmapPixelChanges(new Dictionary <Coordinates, Color>()); for (int i = 0; i < rectangleCoordinates.Length; i++) { if (Mode == BrightnessMode.Default) { if (_pixelsVisited.Contains(rectangleCoordinates[i])) { continue; } _pixelsVisited.Add(rectangleCoordinates[i]); } Color pixel = layer.GetPixelWithOffset(rectangleCoordinates[i].X, rectangleCoordinates[i].Y); Color newColor = ExColor.ChangeColorBrightness(Color.FromArgb(pixel.A, pixel.R, pixel.G, pixel.B), correctionFactor); changes.ChangedPixels.Add(new Coordinates(rectangleCoordinates[i].X, rectangleCoordinates[i].Y), newColor); } return(changes); }
private BitmapPixelChanges ChangeBrightness(Layer layer, Coordinates coordinates, int toolSize, float correctionFactor) { PenTool pen = new PenTool(); Color pixel = layer.LayerBitmap.GetPixel(coordinates.X, coordinates.Y); Color newColor = ExColor.ChangeColorBrightness(Color.FromArgb(pixel.A, pixel.R, pixel.G, pixel.B), correctionFactor); return(pen.Draw(coordinates, newColor, toolSize)); }
/// <summary> /// Darkens pixel color. /// </summary> /// <param name="bitmap">Bitmap to work on.</param> /// <param name="coordinates">Pixel coordinates.</param> /// <returns></returns> private WriteableBitmap Darken(WriteableBitmap bitmap, Coordinates coordinates) { WriteableBitmap wb = bitmap; Color pixel = wb.GetPixel(coordinates.X, coordinates.Y); Color newColor = ExColor.ChangeColorBrightness(System.Drawing.Color.FromArgb(pixel.R, pixel.G, pixel.B), -0.06f); wb.SetPixel(coordinates.X, coordinates.Y, newColor); return(wb); }
public void ChangeColorBrightnessNewValueTest() { Color newColor = ExColor.ChangeColorBrightness(Colors.White, -1f); Assert.AreEqual(Colors.Black, newColor); }
public void ChangeColorBrightnessIsNotTheSameTest() { Color newColor = ExColor.ChangeColorBrightness(Colors.White, -0.1f); Assert.AreNotEqual(Colors.White, newColor); }
public void ChangeColorBrightnessNewValueTest() { SKColor newColor = ExColor.ChangeColorBrightness(SKColors.White, -100); Assert.Equal(SKColors.Black, newColor); }
public void ChangeColorBrightnessIsNotTheSameTest() { SKColor newColor = ExColor.ChangeColorBrightness(SKColors.White, -1); Assert.NotEqual(SKColors.White, newColor); }