Which Image Formats does JavaFX Support?

时间秒杀一切 提交于 2019-11-27 16:23:01

问题


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.


回答1:


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

}


来源:https://stackoverflow.com/questions/24205382/which-image-formats-does-javafx-support

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!