//Tablica Wejsciowa sformatowana jako [x1,y1,x2,y2,......] public void DynamicRow(IPixelManipulator pixelManipulator, int [] inTab,LaMLibrary.SeamDirection seamDirection) { int[] parameters = new int[3]; bool resize = false; if (seamDirection == LaMLibrary.SeamDirection.Horizontal) { parameters[0] = _bmp.Height; parameters[1] = _bmd.Width; parameters[2] = 3; } else if (seamDirection == LaMLibrary.SeamDirection.Vertical) { parameters[0] = _bmp.Width; parameters[1] = _bmd.Height; parameters[2] = _bmd.Stride; } for (int i = 0; i < parameters[0] - 1; i++) { int pxNumber = inTab[i * 2]; pixelManipulator.SetUp(parameters[1] , pxNumber, parameters[2]); if (seamDirection == LaMLibrary.SeamDirection.Horizontal) { GoToXY(inTab[i * 2], i); } else if (seamDirection == LaMLibrary.SeamDirection.Vertical) { GoToXY(i, inTab[i * 2]); } if (pixelManipulator.ChangePixel((int)_current,seamDirection)) { resize = true; } } if (resize) { ResizeBitmap(seamDirection); } }
public void StaticRow(IPixelManipulator pixelManipulator, int seam) { bool resize = false; _current = (byte*)(void*)_bmd.Scan0; _current += seam * _pixelSize; pixelManipulator.SetUp(_bmd.Width,seam,3); for (int y = 0; y < _bmp.Height - 1; y++) { _current += _bmd.Stride; //if (pixelManipulator.ChangePixel((int)_current)) //{ //resize = true; //} throw new NotImplementedException(); } if (resize) { //ResizeBitmap(1); } }