>  기사  >  Java  >  자바 이미지 확대 및 축소

자바 이미지 확대 및 축소

黄舟
黄舟원래의
2016-12-30 11:51:041888검색

이미지를 확대하려면 누락된 픽셀을 보완해야 합니다. 일반적으로 사용되는 방법은

1. Nearest Neighbor Algorithm(Nearest Neighbor)

2. Bilinear Interpolation Algorithm )

3. 쌍삼차 보간 알고리즘(Bicubic Interpolation)

자세한 내용은 (이미지 확대 알고리즘)을 참조하세요. 코드 2배 효과

<span style="font-size:14px;"><span style="font-size:10px;">p<span style="font-family:Courier New;">ublic void Todouble(){
		int[] doubleData = new int[2*w*2*h];
		for (int y = 0; y < h; y++) {
            for (int x = 0; x < w; x++) {
            	doubleData[2*x + 2*y *2* w] = data[x + y * w];
            }
		}
		
		this.h = 2*h;
		this.w = 2*w;
		for (int y = 0; y < h; y++) {
            for (int x = 0; x < w; x++) {
            	if(y%2 == 1)
            		doubleData[x + y*w] = doubleData[x + (y-1)*w];
            	if(x%2 == 1)
            		doubleData[x + y*w] = doubleData[x-1 + y*w];
            }
		}
		this.data = doubleData;
		
	}</span></span></span>
는 다음과 같습니다.

자바 이미지 확대 및 축소

자바 이미지 확대 및 축소

감소는 상대적으로 간단하며, 감소는 픽셀 포인트를 일부 제거하는 것을 의미합니다.


축소코드 :

<span   style="max-width:90%"><span style="font-size:10px;">public void reduce(int a){//a是缩小的<span style="font-family:Times New Roman;">倍数</span>
		int nw = w/a;
		int nh = h/a;
		int[] d = new int[nw*nh];
		
		for (int y = 0; y < nh; y++) {
                  for (int x = 0; x < nw; x++) {
            	   d[x + y*nw] = data[a*x + a*y * w];
                  }
		}
		this.h = nh;
		this.w = nw;
		this.data = d;
	}</span></span>
연산효과는 다음과 같습니다.

자바 이미지 확대 및 축소

위는 java를 확대 축소한 내용입니다. 이미지, 더보기 더 많은 관련 내용은 PHP 중국어 홈페이지(www.php.cn)를 주목해주세요!



성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.