38 |
|
|
39 |
package java.awt; |
package java.awt; |
40 |
|
|
41 |
|
import java.awt.image.AreaAveragingScaleFilter; |
42 |
import java.awt.image.FilteredImageSource; |
import java.awt.image.FilteredImageSource; |
43 |
|
import java.awt.image.ImageFilter; |
44 |
import java.awt.image.ImageObserver; |
import java.awt.image.ImageObserver; |
45 |
import java.awt.image.ImageProducer; |
import java.awt.image.ImageProducer; |
46 |
import java.awt.image.ReplicateScaleFilter; |
import java.awt.image.ReplicateScaleFilter; |
180 |
*/ |
*/ |
181 |
public Image getScaledInstance(int width, int height, int flags) |
public Image getScaledInstance(int width, int height, int flags) |
182 |
{ |
{ |
183 |
|
ImageFilter filter; |
184 |
switch (flags) |
switch (flags) |
185 |
{ |
{ |
186 |
case SCALE_DEFAULT: |
case SCALE_DEFAULT: |
187 |
case SCALE_FAST: |
case SCALE_FAST: |
188 |
case SCALE_REPLICATE: |
case SCALE_REPLICATE: |
189 |
ImageProducer producer = |
filter = new ReplicateScaleFilter(width, height); |
190 |
new FilteredImageSource(this.getSource(), |
break; |
|
new ReplicateScaleFilter(width, height)); |
|
|
return Toolkit.getDefaultToolkit().createImage(producer); |
|
|
case SCALE_SMOOTH: |
|
191 |
case SCALE_AREA_AVERAGING: |
case SCALE_AREA_AVERAGING: |
192 |
|
filter = new AreaAveragingScaleFilter(width, height); |
193 |
|
break; |
194 |
|
case SCALE_SMOOTH: |
195 |
|
throw new Error("SCALE_SMOOTH: not implemented"); |
196 |
default: |
default: |
197 |
throw new Error("not implemented"); |
throw new Error("Unknown flag or not implemented: " + flags); |
198 |
} |
} |
199 |
|
|
200 |
|
ImageProducer producer = new FilteredImageSource(getSource(), filter); |
201 |
|
return Toolkit.getDefaultToolkit().createImage(producer); |
202 |
} |
} |
203 |
|
|
204 |
/** |
/** |