プログラミング学習日記

プログラミング学習時のメモ帳。

Javafx spliteの分割

間違っている場所あったら優しく教えてね

spliteを分割して Imageの配列として返します

コード

import javafx.scene.image.*;
    /**
     * 
     * @param url : url
     * @param COL : 分割数
     * @param ROW : 分割数
     * @param sW  : sizeW
     * @param sH  : sizeH
     */
    public Image[][] SplitImage(String url, int COL, int ROW, int sW, int sH) {
        Image entireImg = new Image(url);
        Image[][] splitImg = new Image[COL][ROW];
        for (int i = 0; i < COL; i++) {
            for (int j = 0; j < ROW; j++) {
                splitImg[i][j] = new WritableImage(entireImg.getPixelReader(), j * sW, i * sH, sW, sH);
            }
        }
        return splitImg;
    }

f:id:topaz1-3:20190911132525j:plain

別のコード

  • 配列は参照型ということを利用して引数の配列をそのまま変更するようにしました.
public void SplitImage(String url, Image[][] img, int sW, int sH) {
        Image entireImg = new Image(url);
        int COL = img.length;
        int ROW = img[0].length;
        for (int i = 0; i < COL; i++) {
            for (int j = 0; j < ROW; j++) {
                img[i][j] = new WritableImage(entireImg.getPixelReader(), j * sW, i * sH, sW, sH);
            }
        }
    }

ブログを見ていただきありがとうございました