package CGameTools; /** * * <p>Title: </p> * * <p>Description: 双线性插值缩放图片</p> * * <p>Copyright: Copyright (c) 2010</p> * * <p>Company: </p> * * @author An Zhiqiang * QQ:343887157 * @version 1.0 (下午03:45:59 2010) */ public class ZoomPixel { public static int interpolation(int[] imageData, int width, int heigth, float x, float y) { // 四个最临近象素的坐标(i1, j1), (i2, j1), (i1, j2), (i2, j2) int i1, i2; int j1, j2; int f1, f2, f3, f4; // 四个最临近象素值 int f12, f34; // 二个插值中间值 f1 = f2 = f3 = f4 = 0; // 定义一个值,当象素坐标相差小于改值时认为坐标相同 int EXP = 0; // 计算四个最临近象素的坐标 i1 = (int) x; i2 = i1 + 1; j1 = (int) y; j2 = j1 + 1; // 根据不同情况分别处理 if ((x < 0) || (x > width - 1) || (y < 0) || (y > heigth - 1)) { return 0x00ffffff; // 要计算的点不在源图范围内,直接返回255。 } else