Heim  >  Artikel  >  Java  >  Java-Bildvergrößerung und -verkleinerung

Java-Bildvergrößerung und -verkleinerung

黄舟
黄舟Original
2016-12-30 11:51:041922Durchsuche

Um das Bild zu vergrößern, müssen Sie die fehlenden Pixel ergänzen:

1. Bilinearer Interpolationsalgorithmus)

3. Bikubischer Interpolationsalgorithmus (Bikubische Interpolation)

Warten Sie, siehe (Bildvergrößerungsalgorithmus) für Details. Der Effekt des doppelten Codes


ist wie folgt:

<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>

Java-Bildvergrößerung und -verkleinerung

Reduktion ist relativ einfach, und Reduktion bedeutet, einige Pixelpunkte zu entfernen. Java-Bildvergrößerung und -verkleinerung

Reduzierter Code:



Der Laufeffekt ist wie folgt:

<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>

Das Obige ist der Inhalt der Vergrößerung und Verkleinerung von Java Bilder, mehr Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn)! Java-Bildvergrößerung und -verkleinerung


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn