Maison >Java >javaDidacticiel >agrandissement et réduction d'image Java
Pour agrandir l'image, vous devez compléter les pixels manquants. Les méthodes couramment utilisées sont
1. Algorithme du voisin le plus proche (voisin le plus proche)
2.
3. Algorithme d'interpolation bicubique (Interpolation bicubique)
Attendez, veuillez consulter (Algorithme de grossissement d'image) pour plus de détails L'effet de deux fois le code
<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>
La réduction est relativement simple, et la réduction signifie supprimer certains points de pixels.
Code réduit :
<span style="font-size:14px;"><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>
Ce qui précède est le contenu de l'agrandissement et de la réduction de Java images, plus Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois (www.php.cn) !