画像を拡大するには、不足しているピクセルを補う必要があります。一般的に使用される方法は、
1. 最近傍アルゴリズム (Nearest Neighbor)
2. バイリニア補間アルゴリズム (バイキュービック補間) です。 )
など、詳細な紹介については (画像拡大アルゴリズム) を参照してください
ここで、最近傍補間法を使用して画像を 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 中国語 Web サイト (www.php.ん)!