目的是'移动'' (一些)图像的方形子区域(正方形(x,y))中的像素。
我这样做是通过遍历该广场的每条水平线并计算出哪些将被移动。所以以相反的方式移动它们。
鉴于我的方块(x,y)中有一条水平像素线
一个..............乙.........ç
应用变换后,B到C之后的像素将变黑。 C&C 39处的像素移动'到A,B和P之间的像素被移动并从A到B线性缩放。
这意味着A到B像素是B到C的拉伸反射。但B处的像素保持不变。
我的问题是找出A和C的位置,它们是方形的右手侧和左手侧(x,y)。
到目前为止,我有这个:大小是长度的一半或方形的宽度
// check if square(x,y) lies within image
if ( (x<image.getWidth()) && (y<image.getHeight()) ){
if (( y<=0) && (y >= image.getHeight())){ //not sure whether these if's are right
for (int i=0; i<x-size; i++) {// visiting each pixel in square(x,y) at coordinate (i,j)
for(int j=0; j< y-size; j++){
// set values for A(left hand side), C(right hand side), B(x +n)
int A=
int B=
int B= x+n;
答案 0 :(得分:1)
根据我的理解,你在一个更大的图像里面有一个小的方形区域,但是你在整个图像中运行“for循环”而不是正方形(我假设它是从一些键盘在屏幕上移动)命令或鼠标移动)。
在鼠标移动的情况下,鼠标将在正方形的中心位置(x,y)。在正方形的每个水平像素行中,你的A将是(x - (square.width / 2)),你的B将是(x + n),你的C将是(x +(square.width / 2) )。