当前位置: 首页 > 知识库问答 >
问题:

如何混合两个图像在javaFX

柯苗宣
2023-03-14

我有两个关于存储在两个单独图像中的数据的绘图。我需要把它们放在一张图片中,这样我才能看到它们的区别。如何在javaFX中实现这一点?

共有1个答案

曾嘉瑞
2023-03-14

解决方案

将两个图像放在一个组中,通过设置最顶部节点的BlendMode应用BlendMode。

ImageView bottom = new ImageView(coke);
ImageView top    = new ImageView(pepsi);
top.setBlendMode(BlendMode.DIFFERENCE);

Group blend = new Group(
        bottom,
        top
);

可执行样本

接受百事挑战?你能“发现”差异吗?

import javafx.application.Application;
import javafx.geometry.Insets;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.effect.BlendMode;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import javafx.scene.layout.HBox;
import javafx.stage.Stage;

/** Blend a coke can and a pepsi can to find the difference. */
public class PepsiChallenge extends Application {
    @Override
    public void start(Stage stage) {
        Image coke = new Image(
            "http://icons.iconarchive.com/icons/michael/coke-pepsi/256/Coca-Cola-Can-icon.png"
        );

        Image pepsi = new Image(
            "http://icons.iconarchive.com/icons/michael/coke-pepsi/256/Pepsi-Can-icon.png"
        );

        ImageView bottom = new ImageView(coke);
        ImageView top = new ImageView(pepsi);
        top.setBlendMode(BlendMode.DIFFERENCE);

        Group blend = new Group(
                bottom,
                top
        );

        HBox layout = new HBox(10);
        layout.getChildren().addAll(
                new ImageView(coke),
                blend,
                new ImageView(pepsi)
        );
        layout.setPadding(new Insets(10));
        stage.setScene(new Scene(layout));
        stage.show();
    }

    public static void main(String[] args) {
        launch();
    }
}
 类似资料:
  • 问题内容: 我有一些String []数组,例如: 如何混合它们,以便得到(a的0个元素,然后b,c,a,b,c的1个元素,依此类推)?谢谢 更准确地说,结果数组必须包含第一个数组的第一个值,然后是第二个数组的第一个值,…,最后一个数组的第一个值,第一个数组的第二个值,…,最后一个数组的第二个值,…,最大数组的最后一个值。如果数组的大小不同,则不会考虑较小的数组。 这是一个例子: 另外,我想结合可

  • 大家好,我正在学习如何使用MySQL和Node JS,我正在尝试找到一个混合两个表的查询。如果我得到一个表“users”,其中有列“userid”、“userimage”,另一个表“comments”,其中有列“commentID”、“comment”、“commentuserid”、“threadid”。你知道我是否可以添加用户的图片谁评论在这个查询的结果请?

  • 问题内容: 我有5张单页tiff图片。我想将所有这5张tiff图片合并为一张多页tiff图片。我正在使用Java Advanced Imaging API。我已经阅读了SUN提供的JAI API文档和教程。我是JAI的新手。我知道Java的基本核心。我不了解SUN提供的这些文档和资料。所以,朋友们请告诉我如何将5个tiff图像文件合并为一个多页tiff图像。请给我一些有关上述主题的指导。我一直在互

  • 我正在用GLSL处理纹理。我如何用GLSL处理两个纹理?一个人推荐我在我的GLSL中做两个采样2D...但是GLSL如何知道2D应该使用哪些采样器呢?(我不是在说混合纹理...) 我听说我应该使用glbindtexture。我怎么能这么做?用glbindtexture?有人有这方面的例子吗?

  • 我正在尝试使用CSS或jQuery在两个图像之间不断切换。我的工作还可以,但它基本上是把一个图像放在另一个上面,如果我使用的图像是透明的,这会引起问题。 null null 代码编号:https://codepen.io/rhys_eng/pen/nwdwxao

  • 我有一个问题,不知道如何修复它。我有这样的消息: 这是我的信息:tongue_out::眨眼:dsdangrydsangryhoanghamobile.comdsd:眨眼:这是表情符号和更多的文字…… 它将像下面的图像显示:眨眼:,:舌头_出:和其他表情符号是从链接:https://filev4.subiz.com/wink.png.所有的图像是一个字符串,现在我必须从url和文本解析表情符号显示