Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int A, B, C, D, x, y, gray;
- float x_ratio = ((float)(width-1))/nw;
- float y_ratio = ((float)(height-1))/nh;
- float x_diff, y_diff, ya, yb;
- for (int u = 0; u < nw; u++) {
- for (int v = 0; v < nh; v++) {
- x = (int)(x_ratio * u) ;
- y = (int)(y_ratio * v) ;
- x_diff = (x_ratio * u) - x;
- y_diff = (y_ratio * v) - y;
- A = getPixel((int)x, (int)y) & 0xff;
- B = getPixel((int)x+1, (int)y) & 0xff;
- C = getPixel((int)x, (int)y+1) & 0xff;
- D = getPixel((int)x+1, (int)y+1) & 0xff;
- gray = (int)(A*(1-x_diff)*(1-y_diff) + B*(x_diff)*(1-y_diff) + C*(y_diff)*(1-x_diff) + D*(x_diff*y_diff));
- result.setPixel(u, v, (byte)gray);
- }
- }
Add Comment
Please, Sign In to add comment