Skip to content

Commit acb41ef

Browse files
committed
initial commit
1 parent 65181a0 commit acb41ef

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

65 files changed

+3821
-8
lines changed

.gitignore

Whitespace-only changes.

.idea/.name

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/compiler.xml

Lines changed: 16 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/jarRepositories.xml

Lines changed: 20 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/libraries/Maven__com_github_hageldave_imagingkit_imagingkit_core_2_1.xml

Lines changed: 13 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/libraries/Maven__org_apache_commons_commons_math3_3_6_1.xml

Lines changed: 13 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/libraries/commons_math3_3_6_1.xml

Lines changed: 9 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/misc.xml

Lines changed: 7 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/uiDesigner.xml

Lines changed: 124 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Illuminator.iml

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,17 @@
11
<?xml version="1.0" encoding="UTF-8"?>
2-
<module type="JAVA_MODULE" version="4">
3-
<component name="NewModuleRootManager" inherit-compiler-output="true">
4-
<exclude-output />
2+
<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
3+
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8">
4+
<output url="file://$MODULE_DIR$/target/classes" />
5+
<output-test url="file://$MODULE_DIR$/target/test-classes" />
56
<content url="file://$MODULE_DIR$">
6-
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
7+
<sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
8+
<sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
9+
<excludeFolder url="file://$MODULE_DIR$/target" />
710
</content>
811
<orderEntry type="inheritedJdk" />
912
<orderEntry type="sourceFolder" forTests="false" />
13+
<orderEntry type="library" exported="" name="commons-math3-3.6.1" level="project" />
14+
<orderEntry type="library" name="Maven: com.github.hageldave.imagingkit:imagingkit-core:2.1" level="project" />
15+
<orderEntry type="library" name="Maven: org.apache.commons:commons-math3:3.6.1" level="project" />
1016
</component>
1117
</module>

README.md

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
# Illuminator
2+
This is a simple photo editing app. You can set preset manipulations for specific photo categories, manipulate the color curve,
3+
apply manipulations only to specific parts of the image and rotate your image accordingly to the horizon.
4+
5+
## System requirements
6+
The app is primarily developed and tested on macOS 11. It works on Windows and Linux too, but further testing needs to be done.
7+
8+
## How to install the app
9+
You need to install the Java JDK and Maven.
10+
Instructions can be found here: https://www.oracle.com/de/java/technologies/javase/javase-jdk8-downloads.html (Java)
11+
http://maven.apache.org/install.html (Maven)
12+
13+
If Java and Maven are installed, navigate to the root directory of the project in a terminal and execute the command "mvn clean install assembly:single".
14+
The executable jar "illuminator-0.1-jar-with-dependencies.jar" will be compiled in the "target" folder. Double-click on the .jar file to start the app.
15+
16+
There is also a precompiled version of the application in the "target" folder.
17+
18+
## Key features
19+
- Preset manipulations
20+
- Color curve
21+
- Applying image manipulations only to specific parts of the image
22+
- Zoom in and out of your image
23+
- Revert your changes
24+
25+
## Supported file formats
26+
Currently, only .png files are supported by the app.
27+
28+
## When will a snapshot of the current image be saved?
29+
To understand how to revert changes with the "Rückgängig machen" button it is important to understand, when a snapshot of the edited image is saved.
30+
31+
A snapshot of your image will always be saved if you rotate the image or switch between the side menus (brush- and global). To revert the changes made before, you have to click "Rückgängig machen".
32+
All changes made in one panel are reversible by setting the sliders, curves, etc. to their initial value.

pom.xml

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
<project xmlns="http://maven.apache.org/POM/4.0.0"
2+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3+
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
4+
<modelVersion>4.0.0</modelVersion>
5+
<groupId>de.stuttgart.uni.visus</groupId>
6+
<artifactId>Illuminator</artifactId>
7+
<version>0.1</version>
8+
<build>
9+
<plugins>
10+
<plugin>
11+
<artifactId>maven-compiler-plugin</artifactId>
12+
<version>3.5.1</version>
13+
<configuration>
14+
<source>1.8</source>
15+
<target>1.8</target>
16+
</configuration>
17+
</plugin>
18+
<plugin>
19+
<groupId>org.apache.maven.plugins</groupId>
20+
<artifactId>maven-assembly-plugin</artifactId>
21+
<configuration>
22+
<archive>
23+
<manifest>
24+
<mainClass>
25+
Illuminator
26+
</mainClass>
27+
</manifest>
28+
</archive>
29+
<descriptorRefs>
30+
<descriptorRef>jar-with-dependencies</descriptorRef>
31+
</descriptorRefs>
32+
</configuration>
33+
<executions>
34+
<execution>
35+
<phase>package</phase>
36+
<goals>
37+
<goal>single</goal>
38+
</goals>
39+
</execution>
40+
</executions>
41+
</plugin>
42+
</plugins>
43+
</build>
44+
<dependencies>
45+
<dependency>
46+
<groupId>com.github.hageldave.imagingkit</groupId>
47+
<artifactId>imagingkit-core</artifactId>
48+
<version>2.1</version>
49+
</dependency>
50+
<dependency>
51+
<groupId>org.apache.commons</groupId>
52+
<artifactId>commons-math3</artifactId>
53+
<version>3.6.1</version>
54+
</dependency>
55+
</dependencies>
56+
</project>

src/Illuminator.java

Lines changed: 0 additions & 4 deletions
This file was deleted.
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
package Filters;
2+
3+
import hageldave.imagingkit.core.Img;
4+
import hageldave.imagingkit.core.Pixel;
5+
6+
/**
7+
* For applying the brush manipulation
8+
*/
9+
public class BlendingFilter {
10+
private Img originalImage;
11+
12+
public BlendingFilter (final Img originalImage) {
13+
this.originalImage = originalImage;
14+
}
15+
16+
/**
17+
* blends the images
18+
*
19+
* @param editedImage
20+
* @return blended image
21+
*/
22+
public Img manipulateImg(final Img editedImage) {
23+
Img newImage = new Img(originalImage.getWidth(), originalImage.getHeight());
24+
originalImage.stream().parallel().forEach( px -> {
25+
short xCord = (short) px.getX();
26+
short yCord = (short) px.getY();
27+
Pixel editedPx = editedImage.getPixel(xCord, yCord);
28+
Pixel newPx = newImage.getPixel(xCord, yCord);
29+
short red = (short) (editedPx.a_asDouble() * editedPx.r() + (1 - editedPx.a_asDouble()) * px.r());
30+
short green = (short) (editedPx.a_asDouble() * editedPx.g() + (1 - editedPx.a_asDouble()) * px.g());
31+
short blue = (short) (editedPx.a_asDouble() * editedPx.b() + (1 - editedPx.a_asDouble()) * px.b());
32+
newPx.setRGB(red, green, blue);
33+
});
34+
35+
return newImage;
36+
}
37+
}

0 commit comments

Comments
 (0)