我正在尝试制作一个水平翻转给定图像的功能。如您所知,处理使用该PImage
类型。
这是我正在尝试的:
PImage reverseHorOf(PImage toReverse){
PImage toReturn = createImage(toReverse.width, toReverse.height, ARGB);
toReturn.loadPixels();
toReverse.loadPixels();
for(int i = 0; i < toReverse.height; i ++)
for(int j = 0; j < toReverse.width; j ++)
toReturn.pixels[(i * width) + (width - 1 - j)] = toReverse.pixels[(i * width) + j];
toReverse.updatePixels();
toReturn.updatePixels();
return toReturn;
}
@Java-only 程序员:
createImage
是 的“替代品”new PImage
;loadPixels()
并且updatePixels()
需要[你不说?!?]加载和更新图像或帧的像素;- 我需要创建一个新
PImage
的原因有两个:1)语法含义;2)语义:如果我开始修改它的一部分,我不能复制整个图像=P
所以伙计们,我尝试的是:
(i * width)
与;采取同一行- 从底部到达,中行的起始位置
toReturn
; toReverse
从;中行的起始位置到达底部
我拥有的是一个ArrayOutOfBoundsException: 1499
.
我犯了一个错误,但是......在哪里?