Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Which Image Formats does JavaFX Support?

I am looking for a list of Image Types (latest) JavaFX supports, e.g. PNG, JPEG, TIFF. Different search engines did not help ... any idea where to start?

More particulary I am interested in 16 Bit grayscale images (in different formats) and the rare supported jpg-lossless standard.

like image 440
MrFreeze Avatar asked Jun 13 '14 12:06

MrFreeze


People also ask

What is image in JavaFX?

ImageView is a node that is used to display, the loaded image. To display an image in JavaFX − Create a FileInputStream representing the image you want to load. Instantiate the Image class bypassing the input stream object created above, as a parameter to its constructor.

How can we load an image in JavaFX?

You can load an image in JavaFX by instantiating the class named Image of the package javafx. scene. image.

What are the three components of JavaFX application?

In general, a JavaFX application will have three major components namely Stage, Scene and Nodes as shown in the following diagram.


1 Answers

The list below was generated based on the options that Fireworks and Photoshop allow one to Save As: plus a few selected formats by me considering what is commonly found and that have some support on ImageJ.

Therefore the doesn't mean that the format is natively supported in ImageJ, but it means that it is possible to open in ImageJ even if it requires additional plugins. And this list is not a complete list of what is supported on ImageJ, for a more detailed one (including whether the support is native or through plugin please check this page)

File Format:    bits                details         Native support      ImageJ

PNG              32     fireworks format .fw.png          ✓               ✓
                 32              flat format              ✓               ✓
                 24              flat format              ✓               ✓

                 8               flat format              ✓               ✓
GIF              8       2 colours (black & white)        ✓               ✓
                 8               16 colours               ✓               ✓
                 8               256 colours              ✓               ✓ 

JPG              24             Quality: 100%             ✓               ✓
                 24         100% && Smoothing = 8         ✓               ✓
JPS (JPG Stereo) 24                                       ✓               ✓

MPO              24                                       ✓               ✓

TIFF             32                                       ✘               ✓
                 24                                       ✘               ✓
                  8                                       ✘               ✓

JPEG2000                                                  ✘               ✓
EPS                                                       ✘               ✓
TGA                                                       ✘               ✓
RAW (photoshop)                                           ✘               ✓
PSD                                                       ✘               ✓
FITs                                                      ✘               ✓
PGM (.pgm)                                                ✘               ✓
PPM (.ppm)                                                ✘               ✓
PBM (.pbm)                                                ✘               ✓
DICOM                                                     ✘               ✓
NiFTI                                                     ✘               ✓
PICT                                                      ✘               ✓
ICO                                                       ✘               ✓
ANALYZE                                                   ✘               ✓
MOV                                                       ✘               ✓
SPE (.spe)                                                ✘               ✓
PIC                                                       ✘               ✓
AVI (.avi)                                                ✘               ✓
CUR                                                       ✘               ✓
PXR (Pixar)                                               ✘               ✘ 
SCT (Scitex)                                              ✘               ✘ 
IFF                                                       ✘               ✘ 
WBMP                                                      ✘               ✘ 
PDF                                                       ✘               ✘ 

This test was made on a Windows 8.1 with:

java version "1.8.0_05"
Java(TM) SE Runtime Environment (build 1.8.0_05-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.5-b02, mixed mode)

Source code used to create this list:

import java.io.File;
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import javafx.scene.layout.GridPane;
import javafx.stage.Stage;

public class JavaFXSupportedImages extends Application {

    @Override
    public void start(Stage primaryStage) {
        File dir = new File("formats_supported_on_javaFX_folder");//Folder Path
        File[] images = dir.listFiles();
        GridPane root = new GridPane();
        int col=0, row=0;
        for(File f: images){
            Button btn = new Button(f.getName());
            try{
                Image fximage = new Image(f.toURI().toURL().toString());
                ImageView pic = new ImageView();
                pic.setImage(fximage);
                pic.setFitWidth(130);
                pic.setFitHeight(50);
                btn.setGraphic(pic);
            }catch(Exception e){
                System.out.println("JavaFX doesn't support: " + btn.getText());
            }
            if(col>3){
                col=0;
                row++;
            }
            else
            {
                col++;
            }
            root.add(btn, col, row);
        }
        Scene scene = new Scene(root, 300, 250);    
        primaryStage.setTitle("JavaFX Support test!");
        primaryStage.setScene(scene);
        primaryStage.show();
    }

    public static void main(String[] args) {
        launch(args);
    }

}
like image 169
Mansueli Avatar answered Oct 09 '22 11:10

Mansueli