コード例 #1
0
ファイル: Img.java プロジェクト: kvv1/kvvmaps
  public static void transform(SrcImg src, DstImg dst, Transformation trans) {
    int w = dst.getWidth();
    int h = dst.getHeight();

    for (int y = 0; y < h; y++)
      for (int x = 0; x < w; x++) {
        long srcX = trans.getSrcX(x, y);
        long srcY = trans.getSrcY(x, y);

        int pixel00 = src.getRGB((int) (srcX >>> 32), (int) (srcY >>> 32));
        int pixel01 = src.getRGB((int) (srcX >>> 32), (int) (srcY >>> 32) + 1);
        int pixel10 = src.getRGB((int) (srcX >>> 32) + 1, (int) (srcY >>> 32));
        int pixel11 = src.getRGB((int) (srcX >>> 32) + 1, (int) (srcY >>> 32) + 1);

        int pixel =
            merge(pixel00, pixel01, pixel10, pixel11, ((int) srcX) >>> 24, ((int) srcY) >>> 24);

        dst.setRGB(x, y, pixel);
      }
  }