public static BufferedImage rotate(BufferedImage bi, int degree) {
int width = bi.getWidth();
int height = bi.getHeight();
BufferedImage biFlip;
if (degree == 90 || degree == 270)
biFlip = new BufferedImage(height, width, bi.getType());
else if (degree == 180)
biFlip = new BufferedImage(width, height, bi.getType());
else
return bi;
if (degree == 90) {
for (int i = 0; i < width; i++)
for (int j = 0; j < height; j++)
biFlip.setRGB(height- j - 1, i, bi.getRGB(i, j));
}
if (degree == 180) {
for (int i = 0; i < width; i++)
for (int j = 0; j < height; j++)
biFlip.setRGB(width - i - 1, height - j - 1, bi.getRGB(i, j));
}
if (degree == 270) {
for (int i = 0; i < width; i++)
for (int j = 0; j < height; j++)
biFlip.setRGB(j, width - i - 1, bi.getRGB(i, j));
}
bi.flush();
bi = null;
return biFlip;
}
'개발 > 자바' 카테고리의 다른 글
@JsonIgnoreProperties(ignoreUnknown = true) (0) | 2017.06.05 |
---|---|
삼각함수 기본 (Sin, Cos, Tan) - 삼각 비율 (0) | 2017.01.23 |
twitter4j를 통한 twitter 로그인 연동 (0) | 2015.11.06 |
Date를 원하는 날짜로 생성하기 (0) | 2012.06.20 |
LinkedHashmap LRU Caching (0) | 2012.04.16 |
댓글