gpt4 book ai didi

javafx - 如何在javaFX中混合两个图像

转载 作者:行者123 更新时间:2023-12-02 05:37:00 26 4
gpt4 key购买 nike

我有两个关于存储在两个单独图像中的数据的图。我需要将它们放在一张图片中,这样我才能看到不同之处。如何在 javaFX 中完成此操作?

最佳答案

解决方案

将两个图像放在 Group 中并通过设置 BlendMode 应用 blendMode of the topmost Node

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();
}
}

关于javafx - 如何在javaFX中混合两个图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22080523/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com