Какие форматы изображений поддерживает JavaFX?

Я ищу список типов изображений (последних), поддерживаемых JavaFX, например PNG, JPEG, TIFF. Разные поисковые системы не помогли... есть идеи, с чего начать?

В частности, меня интересуют 16-битные изображения в градациях серого (в разных форматах) и редкий поддерживаемый стандарт jpg-lossless.

1 ответ

Решение

Приведенный ниже список создан на основе параметров, которые Fireworks и Photoshop позволяют Save As: плюс несколько выбранных мной форматов, учитывая то, что обычно встречается и которые имеют некоторую поддержку в ImageJ.

Следовательно, не означает, что формат изначально поддерживается в ImageJ, но означает, что его можно открыть в ImageJ, даже если для этого требуются дополнительные плагины. И этот список не полный список того, что поддерживается в ImageJ, для более детального (в том числе, если поддержка является родной или через плагин, пожалуйста, проверьте эту страницу)

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                                                       ✘               ✘ 

Этот тест был сделан на Windows 8.1 с:

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)

Исходный код, использованный для создания этого списка:

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

}
Другие вопросы по тегам