Полагаю, вопрос касается Android, Java, а не Windows!
В этом случае шаг не имеет ничего общего с «количеством байтов, используемых для хранения одной строки изображения», то есть с номенклатурой окон.
Прежде чем вы поймете параметр "stride", вам нужно знать, что getPixels - это функция, копирующая пиксели из исходного растрового изображения в целевой массив (который набирается в Pixels []).
касательно копирования, вам нужно знать, где находится источник (откуда) и где находится пункт назначения (куда)
в функции,
public void getPixels (int [] пиксели, смещение int, шаг int, int x, int y, ширина int, высота int) {
throw new RuntimeException("Stub!");
}
эти 4 параметра управляют источником: int x, int y, int width, int height
эти 3 параметра управляют пунктом назначения: int [] пиксели, int offset, int stride
например. У вас есть sourceImage с шириной * высота = 100 * 100Пикселей, вы создаете destinationImage с шириной * высота = 200 * 100Пикселей, и вы делаете следующие коды,
sourceImage.getPixels (пиксели, 0, 2 * wd, 0, 0, wd, ht); // копирование №1
sourceImage.getPixels (пиксели, wd, 2 * wd, 0, 0, wd, ht); // копирование No.2
destinationImage = Bitmap.createBitmap (пиксели, 0, 2 * wd, 2 * wd, ht, Bitmap.Config.ARGB_8888); // сделать большое изображение в два раза больше исходного
Объяснение приведено ниже для № 1, копирующего getPixels,
1 чтение строки: с шириной линии = wd и поместите ее в пиксели [0] ~ пиксели [wd-1];
чтение двух строк: поместите его в пиксели [шаг + 0] ~ пиксели [шаг + wd-1];
чтение n-й строки: поместите его в пиксели [(n-1) * шага] ~ пиксели [(n-1) * шага + wd-1].
Это довольно большая часть getPixels.