Maison >Java >javaDidacticiel >agrandissement et réduction d'image Java

agrandissement et réduction d'image Java

黄舟
黄舟original
2016-12-30 11:51:041981parcourir

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

est le suivant :
<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>

agrandissement et réduction dimage Java

agrandissement et réduction dimage JavaLa réduction est relativement simple, et la réduction signifie supprimer certains points de pixels.

Code réduit :

L'effet de l'opération est le suivant :
<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>

agrandissement et réduction dimage Java 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) !


Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn