To enlarge the image, you need to supplement the missing pixels. Commonly used methods are
1. Nearest Neighbor algorithm (Nearest Neighbor)
2. Bilinear interpolation algorithm (Bilinear Interpolation )
3. Bicubic Interpolation Algorithm (Bicubic Interpolation)
Wait, please see (Image Magnification Algorithm) for detailed introduction
Now we will use the nearest neighbor point interpolation method to magnify the image The effect of twice the code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | <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>
|
Copy after login
is as follows:


## Reduction is relatively simple, and reduction is to remove some pixels.
Minified code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | <span style= "max-width:90%" ><span style= "font-size:10px;" > public void reduce(int a){
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>
|
Copy after login
The running effect is as follows:

The above is the content of enlarging and reducing the java image, more related Please pay attention to the PHP Chinese website (www.php.cn) for content!