image-processing - 如何将 PlanarImage 或 BufferedImage (JAI) 转换为 Image (JavaFX)
问题描述
在使用 JAI 操作之后,我正在尝试更改 ImageView 实例中表示的图像。JAI 可以输出 PlanarImage、RenderedImage(non-awt) 或 BufferedImage(non-awt),但这些不是 ImageView 构造的有效类型。
import java.awt.image.renderable.ParameterBlock;
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.ScrollPane;
import javafx.scene.image.ImageView;
import javafx.scene.image.Image;
import javafx.stage.Stage;
import javax.media.jai.JAI;
import javax.media.jai.PlanarImage;
import javax.media.jai.Interpolation;
public class A11 extends Application{
int zoom = 100;
ImageView img = new ImageView();
Image src = new Image("file.bmp");
public static void main(String args[]){
launch(args); // start application
}
@Override
public void start(Stage window){
ParameterBlock pb = new ParameterBlock();
pb.addSource(src); // source Image
pb.add(zoom/100); // xScale
pb.add(zoom/100); // yScale
pb.add(0.0F); // xTranslate
pb.add(0.0F); // yTranslate
pb.add(Interpolation.getInstance(Interpolation.INTERP_BICUBIC));
PlanarImage dest = JAI.create("scale", pb, null);
// NEED TO CONVERT 'dest' TO 'destImage' HERE
ImageView frame = new ImageView(destImage);
ScrollPane pane = new ScrollPane(frame);
window.setScene(new Scene(pane,800,600));
window.show();
}
}
解决方案
推荐阅读
- angular - 使用“code”而不是“access_token”在弹出窗口中登录 Angular Facebook
- sql - 我如何需要重写 SQL 更新语句子查询以仅选择一行?
- reactjs - 即使使用代理,Nodejs 也不会为 React CRA 应用程序设置 cookie
- c# - 如何使用 json.net(而不是 JObject)反序列化对象
- routing - 如何通过asp.net core mvc重定向到区域管理员中的特定操作?
- jenkins - Jenkins slave JNLP4-连接超时
- dataframe - Julia DataFrames 描述没有输出完整
- java - Android - RecyclerView 不会以编程方式滚动
- c# - c# MVVM wpf design在viewmodel和view方法之间传递数据
- nginx - 我将我的 jekyll _site 文件夹推送到服务器的子文件夹 /blog 中,如何修复所有资产和链接?