Import from internal git
This commit is contained in:
55
src/main/java/services/ImageService.java
Normal file
55
src/main/java/services/ImageService.java
Normal file
@@ -0,0 +1,55 @@
|
||||
package services;
|
||||
|
||||
import app.state.AppState;
|
||||
import com.google.inject.Inject;
|
||||
import domain.image.Image;
|
||||
import domain.image.GrayScaleMatrix;
|
||||
import domain.image.processing.complex.ComplexMatrix;
|
||||
import domain.image.processing.fourier.Fourier;
|
||||
import infrastructure.image.io.ImageLoader;
|
||||
import infrastructure.image.io.ImageSaver;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
|
||||
public class ImageService {
|
||||
|
||||
private final AppState appState;
|
||||
|
||||
@Inject
|
||||
public ImageService(AppState appState) {
|
||||
this.appState = appState;
|
||||
}
|
||||
|
||||
public void createImage(int red, int green, int blue, int height, int width) {
|
||||
Image image = new Image(red, green, blue, height, width);
|
||||
appState.setImage(image);
|
||||
}
|
||||
|
||||
public void loadImage(File f) throws IOException {
|
||||
Image image = ImageLoader.loadImage(f);
|
||||
appState.setImage(image);
|
||||
}
|
||||
|
||||
public void saveImage(Image image) throws IOException {
|
||||
ImageSaver.saveImage(image);
|
||||
}
|
||||
|
||||
public ComplexMatrix computeFourier(){
|
||||
GrayScaleMatrix matrix = appState.getImage().toGrayScale();
|
||||
ComplexMatrix fourier = Fourier.Fourier2D(matrix.getRawData());
|
||||
return Fourier.decroise(fourier);
|
||||
}
|
||||
|
||||
public Image getImage(){
|
||||
return appState.getImage();
|
||||
}
|
||||
|
||||
public void setImage(Image img){
|
||||
appState.setImage(img);
|
||||
}
|
||||
|
||||
public GrayScaleMatrix getGrayScale(){
|
||||
return appState.getImage().toGrayScale();
|
||||
}
|
||||
}
|
||||
22
src/main/java/services/ModeService.java
Normal file
22
src/main/java/services/ModeService.java
Normal file
@@ -0,0 +1,22 @@
|
||||
package services;
|
||||
|
||||
import app.state.AppState;
|
||||
import com.google.inject.Inject;
|
||||
import domain.common.Mode;
|
||||
|
||||
public class ModeService {
|
||||
|
||||
private final AppState appState;
|
||||
|
||||
@Inject
|
||||
public ModeService(AppState appState) {
|
||||
this.appState = appState;
|
||||
}
|
||||
|
||||
public void setMode(Mode m){
|
||||
appState.setMode(m);
|
||||
}
|
||||
|
||||
public Mode getMode() { return this.appState.getMode(); }
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user