我有一个javafx.scene.image.Image,我想调整它的大小,例如按给定因子缩放它.怎么做(没有转换BufferedImage),有什么选择质量和性能(如插值类型)?
有几个问题看起来很相似,但我找不到任何提出相同问题的人.关键点是输入是一个Image对象(和缩放因子),所需的输出是另一个Image对象.
Jam*_*s_D 11
最简单的方法是:
public Image scale(Image source, int targetWidth, int targetHeight, boolean preserveRatio) {
ImageView imageView = new ImageView(source);
imageView.setPreserveRatio(preserveRatio);
imageView.setFitWidth(targetWidth);
imageView.setFitHeight(targetHeight);
return imageView.snapshot(null, null);
}
Run Code Online (Sandbox Code Playgroud)
通过使用较慢的算法调用imageView.setSmooth(...);值true以及更好的平滑并false使用更快的算法和更少的平滑,可以对缩放算法的速度/平滑度进行最小量的控制.
| 归档时间: |
|
| 查看次数: |
5024 次 |
| 最近记录: |