public void GetRotationParametersForImage_ImageMisOriented_ReturnsCorrectEncoderParameters(ImageOrientation orientation, EncoderValue[] expectedValues) { // Arrange var image = Fake.Image(orientation); var factory = Fake.ImageFactory(image); var rotator = new ImageRotator(factory); // Act var parameters = rotator.GetRotationParameters(image); // Assert Assert.IsNotNull(parameters); Assert.AreEqual(expectedValues.Length, parameters.Param.Length); foreach (var val in expectedValues) { Assert.IsTrue(parameters.Param.Any(param => { var valueField = param.GetType().GetField("_parameterValue", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance); var valuePointer = (IntPtr)valueField.GetValue(param); var value = (EncoderValue)Marshal.ReadInt32(valuePointer); return(param.Encoder.Guid == Encoder.Transformation.Guid && param.NumberOfValues == 1 && param.ValueType == EncoderParameterValueType.ValueTypeLong && value == val); })); } }
public void TestAntiClockwiseDir() { var inputImg = (Bitmap)Image.FromFile(_inputFolderPath + @"\1.png"); var rotatedBy45 = ImageRotator.RotateImg(inputImg, -45, _bkColor); rotatedBy45.Save(_outputFolder + @"\1_rotated_by_45_anti_clockwise.jpg"); }
public void TestFlipHorizontallyInPlace() { var srcImage = new IndexedImage { Size = new Size(3, 2) }; int[] pixels; using (srcImage.LockPixels(out pixels)) { for (int i = 0; i < pixels.Length; i++) { pixels[i] = i; } } var dstImage = ImageRotator.FlipHorizontallyInPlace(srcImage); Assert.AreSame(srcImage, dstImage); Assert.AreEqual(new Size(3, 2), dstImage.Size); using (dstImage.LockPixels(out pixels)) { Assert.AreEqual(2, pixels[0]); Assert.AreEqual(1, pixels[1]); Assert.AreEqual(0, pixels[2]); Assert.AreEqual(5, pixels[3]); Assert.AreEqual(4, pixels[4]); Assert.AreEqual(3, pixels[5]); } }
protected virtual void InitializeComponent() { if (DesignedControl != null) { component = (ImageRotator)DesignedControl; properties = TypeDescriptor.GetProperties(component); } }
public void ProduceExpectedMatrix(int[][] matrix, int[][] expectedMatrix) { var rotator = new ImageRotator(); rotator.Rotate(matrix); Assert.True(matrix.SequenceEqual(expectedMatrix, IntArrayEqualityComparer.Instance)); }
public void GetRotationParametersForImage_ImageNull_ThrowsArgumentException() { // Arrange var factory = Fake.ImageFactory(Fake.Image()); var rotator = new ImageRotator(factory); // Act, Assert Assert.Throws <ArgumentException>(() => rotator.GetRotationParameters((IImage)null)); }
public void GetRotationParametersForImage_OrientationIsTopLeft_ReturnsNull() { // Arrange var image = Fake.Image(ImageOrientation.TopLeft); var factory = Fake.ImageFactory(image); var rotator = new ImageRotator(factory); // Act var parameters = rotator.GetRotationParameters(image); // Assert Assert.IsNull(parameters); }
public void TestGetRotationAngleToRealignForNegativeAngle() { const string secondEndLower = @"\disc_second_end_lower."; var clickInputs = MainProcessor.GetClickInputsFromFile(_inputFolderPath + secondEndLower + "xml"); var clickPositions = clickInputs.ImageClickInputDetailsList[0].ClickPositionListForImages; var result = ImageRotator.GetRotationAngleToRealign(clickPositions); Assert.IsTrue(result < 0); Assert.IsTrue(Math.Abs(Math.Abs(result) - 45) < 5); var inputImg = (Bitmap)Image.FromFile(_inputFolderPath + secondEndLower + "jpg"); var rotated = ImageRotator.RotateImg(inputImg, result, _bkColor); rotated.Save(_outputFolder + secondEndLower + "rotated.jpg"); }
public void RestoreImageSettings(CodedImage image) { using (ImageSymboler.SuspendCallManipulations()) { using (ImageColorer.SuspendCallManipulations()) { using (ImageResizer.SuspendCallManipulations()) { using (ImageColorer.SuspendCallManipulations()) { using (ImageRotator.SuspendCallManipulations()) { ImageRotator.RestoreImageSettings(image); } ImageCropper.RestoreImageSettings(image); } ImageResizer.RestoreImageSettings(image); } ImageColorer.RestoreImageSettings(image); } ImageSymboler.RestoreImageSettings(image); } }
public void FlipVertically() { ImageRotator.FlipVerticallyInPlace(ManipulatedImage); RotateManupulations.Add(V); OnImageChanged(); }
public void FlipHorizontally() { ImageRotator.FlipHorizontallyInPlace(ManipulatedImage); RotateManupulations.Add(H); OnImageChanged(); }
public void RotateCCW() { ImageRotator.RotateCCWInPlace(ManipulatedImage); RotateManupulations.Add(CCW); OnImageChanged(); }
public void RotateImage90CCW() { ImageRotator.RotateImage(this.Image, ImageRotationStyle.CCW); this.Invalidate(); }
public static ImageRotator CreateInstance(Image image) { ImageRotator rotator = new ImageRotator(image as Bitmap); return(rotator); }