Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
lanthale authored Apr 3, 2023
1 parent c816374 commit a032345
Showing 1 changed file with 8 additions and 5 deletions.
13 changes: 8 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ All raw formats can be loaded with the Image class and manipulated by Pixelwrite

**JDK 18 is required for v1.8.0** because of the foreign linker API usage and the big changes for threading happenend in Panama in JDK18

**JDK 19 and JavaFX 19 is required for v1.8.2** because of the foreign linker API usage, changes in JavaFX 19 and the big changes for threading happenend in Panama in JDK19. Warning: The lib is actually not working on Apple M1 due to a bug in JDK19. This will be fixed with JDK20.
**JDK 20 and JavaFX 20 is required for v1.8.4** because of the foreign linker API usage, changes in JavaFX 19 and the big changes for threading happenend in Panama in JDK19/20.

## Status
Now the lib is in production ready status. That means it is tested on all operating systems (OSX, Linux, Win10) and under different threading scenarious.
Expand Down Expand Up @@ -43,12 +43,12 @@ Point to the maven coordinates:
<version>1.8.0</version>
</dependency>
```
**JDK19**
**JDK20**
```
<dependency>
<groupId>org.librawfx</groupId>
<artifactId>LibRawFX</artifactId>
<version>1.8.3</version>
<version>1.8.4</version>
</dependency>
```

Expand All @@ -68,7 +68,7 @@ Point to the maven coordinates:
--add-exports=javafx.graphics/com.sun.javafx.iio.common=org.librawfx
```

- and add the following lines to your java config on JDK 19:
- and add the following lines to your java config on JDK 20:
```
--enable-preview --enable-native-access=org.librawfx
--add-exports=javafx.graphics/com.sun.javafx.iio=org.librawfx
Expand All @@ -87,6 +87,9 @@ metaData.entrySet().forEach((entry) -> {
});
```

- **RAW Settings**
You can get the default settings for all camera models with the call RAWImageLoaderFactory.getDecoderSettings(). Afterwards use the getters/setters to update the raw settings. There is also a method called getCameraMaker() which extracts the camera model and afterwards you can now build a model based raw setting engine and feed always before loading an image with the right settings for the camera model.

- **Module name: org.librawfx**

You can have a look into the class TestAPP.java to see how to use it, but generally just create an Image with the URL/stream and add it to the image view:
Expand All @@ -113,7 +116,7 @@ You can also use the lib without adding the file handler. What I mean is that yo

# Notes:
- The lib is using unoffical JavaFX interfaces
- The lib is using heavily the foreign memory API from Java 18 including functions from the project Panama and therefore the tool `JExtract` (Available only in JDK 19)
- The lib is using heavily the foreign memory API from Java 18 including functions from the project Panama and therefore the tool `JExtract` (Available only in JDK 19/20)
- All classes inside of package `org.libraw.win` / `org.libraw.linuxosx` are generated by jextract but tuned for operating system specifica
- Inside of these packages above I exposed also the raw interface to libraw
- The main class to interact with the native lib is the class `LibrawImage.java` in package `org.librawfx`
Expand Down

0 comments on commit a032345

Please sign in to comment.