inputs and colorChange

This commit is contained in:
Theophyl Hoguet committed 2023-04-14 10:55:27 +02:00
1 parent efa0176163
commit 3105bc2fe8
5 files changed
+24 -19

No files matched your search

@@ -38,6 +38,7 @@ public class AlgorithmController {
private final static List<Algorithm> algorithmList() {
final String[] borderTypes = { "SKIP", "ZERO", "NORMALIZED", "REFLECT", "EXTENDED", "WRAP" };
final String[] fillingTypes = { "SKIP", "CONVOLUTION", "LEFT", "RIGHT", "TOP", "BOTTOM" };
final String[] newColors = { "RED", "GREEN", "BLUE", "YELLOW", "CYAN", "MAGENTA", "GREY" };
ArrayList<Algorithm> algorithms = new ArrayList<Algorithm>();
algorithms.add(new Algorithm("Changement de luminosité", "changeLuminosity",
Arrays.asList(new IntegerParameter("Delta", "delta", -255, 255, 1)),
@@ -109,7 +110,7 @@ public class AlgorithmController {
algorithms.add(new Algorithm("Changement de coloration", "changeColoration",
Arrays.asList(new ColorParameter("Couleur à changer", "colorToChange"),
new IntegerParameter("Tolerance", "tolerance", 0, 255, 1),
new ColorParameter("Couleur de remplacement", "colorToReplace"),
new SelectParameter("Couleur de remplacement", "colorToReplace", newColors),
new BooleanParameter("Garder la couleur ?", "keep")),
(Planar<GrayU8> input, List<Object> para) -> {
ImageProcessing.changeColoration(input, (String) para.get(0), (int) para.get(1),
@@ -909,22 +909,22 @@ public final class ImageProcessing {
int deltaColor = 0;
switch (newColor) {
case "red":
case "RED":
deltaColor = 0;
break;
case "yellow":
case "YELLOW":
deltaColor = 60;
break;
case "green":
case "GREEN":
deltaColor = 120;
break;
case "cyan":
case "CYAN":
deltaColor = 180;
break;
case "blue":
case "BLUE":
deltaColor = 240;
break;
case "magenta":
case "MAGENTA":
deltaColor = 300;
break;
default:
@@ -967,7 +967,7 @@ public final class ImageProcessing {
if (test1 || test2) {
continue;
} else {
if (newColor == "grey") {
if (newColor == "GREY") {
int gl = 0;
double coeff[] = { 0.3, 0.59, 0.11 };
+15 -8
View File
@@ -57,6 +57,10 @@ export default defineComponent({
return;
const filter = this.filters[this.filterSelectId];
for (const arg of filter.parameters) {
if (arg.type === FilterType.boolean && arg.value === undefined)
arg.value = false;
if (arg.type === FilterType.color && arg.value === undefined)
arg.value = "#000000";
if (arg.type !== FilterType.area && arg.value === undefined) {
this.error = "Un paramètre n'a pas été renseigné";
return;
@@ -66,12 +70,14 @@ export default defineComponent({
this.$emit("applyFilter", filter);
},
areInputValid() {
for (const p of this.filters[this.filterSelectId].parameters) {
const input = document.getElementById(p.name) as HTMLInputElement;
if (input === null)
return "";
if (!input.checkValidity())
return "Paramètre(s) du filtre invalide(s)";
console.log(this.filters[this.filterSelectId])
for (let p of this.filters[this.filterSelectId].parameters) {
console.log(p.path);
const input = document.getElementById(p.path) as HTMLInputElement;
console.log(input);
if (input !== null)
if (!input.checkValidity())
return "Paramètre(s) du filtre invalide(s)";
}
return "";
},
@@ -139,7 +145,7 @@ export default defineComponent({
<div class="labelInput">
<label>{{ parameter.name }}: </label>
<input type="number" :min="(parameter as RangeParameters).min" :max="(parameter as RangeParameters).max"
:step="(parameter as RangeParameters).step" v-model.number="parameter.value" :id="parameter.name" />
:step="(parameter as RangeParameters).step" v-model.number="parameter.value" :id="parameter.path" />
</div>
<input type="range" :min="(parameter as RangeParameters).min" :max="(parameter as RangeParameters).max"
:step="(parameter as RangeParameters).step" v-model.number="(parameter as RangeParameters).value" />
@@ -163,7 +169,8 @@ export default defineComponent({
</div>
</div>
<button :style="{ background: styledProgress() }" @mouseenter="error = areInputValid()"
@mouseleave="error = areInputValid()" class="button" @click="applyFilter()">{{ titleApply() }}</button>
@mouseleave="error = areInputValid()" class="button" @click="applyFilter()" :disabled="sent">
{{ titleApply() }}</button>
<button v-if="imageFiltered !== -1" class="button" @click="deleteFilter()">Supprimer les filtres</button>
</div>
</template>
-1
View File
@@ -112,7 +112,6 @@ export class Filter {
}
export function getParameters(f: Filter): string {
console.log(f);
return '&' + f.parameters.map((param) => {
switch (param.type) {
case FilterType.range:
-2
View File
@@ -2,8 +2,6 @@ import axios, { AxiosResponse, AxiosError, HttpStatusCode } from 'axios';
import { ImageType } from '@/image';
import { Filter, getParameters } from './filter';
type area = { xmin: number, ymin: number, xmax: number, ymax: number }
interface stateInterface {
skipped: boolean;
interrupted: boolean;