Java - como evitar que los puntos sobre pasen la cuadricula de la imagen

 
Vista:
sin imagen de perfil

como evitar que los puntos sobre pasen la cuadricula de la imagen

Publicado por Luis Gregorio (2 intervenciones) el 10/10/2017 20:25:04
Hola buenas tardes ayuda, ocupo ideas o una solución de como evitar que los puntos sobre pasen la cuadricula de la imagen, si se pasa de la cuadricula cortar esos puntos y solo me grafiquen los puntos en la zona de la cuadricula los que se salen no me interesan alguna idea o solución uso la librera itex para todo me lo guarde en un pdf


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
//@INICIO CUERPO
cb.setFontAndSize(bf, 8);
for (int i = 0; i <= numColumnas * 3; i++) {
    cb.showTextAligned(Element.ALIGN_LEFT, ConvertirMilos2Segundos((200 * i) + (10000 * contPage)), (width / numColumnas) * i, height - 160f, 90f);
}
cb.setFontAndSize(bf, 12);
cb.showTextAligned(Element.ALIGN_LEFT, lblDerivacionDI[idioma], 15f, (heightMax / 8) * 8 + 3, 0f);
cb.showTextAligned(Element.ALIGN_LEFT, lblDerivacionDII[idioma], 15f, (heightMax / 8) * 7 + 3, 0f);
cb.showTextAligned(Element.ALIGN_LEFT, lblDerivacionDIII[idioma], 15f, (heightMax / 8) * 6 + 3, 0f);
cb.showTextAligned(Element.ALIGN_LEFT, lblDerivacionAVF[idioma], 15f, (heightMax / 8) * 5 + 3, 0f);
cb.showTextAligned(Element.ALIGN_LEFT, lblDerivacionAVR[idioma], 15f, (heightMax / 8) * 4 + 3, 0f);
cb.showTextAligned(Element.ALIGN_LEFT, lblDerivacionAVL[idioma], 15f, (heightMax / 8) * 3 + 3, 0f);
cb.showTextAligned(Element.ALIGN_LEFT, lblDerivacionV1[idioma], 15f, (heightMax / 8) * 2 + 3, 0f);
//CUADRICULA
int contar5;
for (int i = 2; i <= 8; i++) {
    contAux = 0;
    //COLUMNAS DE LA CUADRICULA
    contar5 = 5;
    for (int co = 1; co <= numColumnas * 5; co++) {
        if (contar5 == 5) {
            cb.setLineWidth(0.8f);
            cb.setRGBColorStroke(210, 133, 172);
            contar5 = 0;
        } else {
            cb.setLineWidth(0.1f);
            cb.setRGBColorStroke(255, 204, 255);
        }
        cb.moveTo(((width / numColumnas) * co) / 5, (((heightMax / 8) * i) - 0));
        cb.lineTo(((width / numColumnas) * co) / 5, (((heightMax / 8) * i) - 40));
        cb.stroke();
        contar5++;
    }
    //FILAS DE LA CUADRICULA
    contar5 = 5;
    for (int fi = 0; fi <= (numFilas) * 2; fi++) {
        if (contar5 == 5) {
            cb.setLineWidth(0.8f);
            cb.setRGBColorStroke(210, 133, 172);
            contar5 = 0;
        } else {
            cb.setLineWidth(0.1f);
            cb.setRGBColorStroke(255, 204, 255);
        }
        cb.moveTo(0, (((heightMax / (numFilas - 2)) * i) - contAux));
        cb.lineTo(width, (((heightMax / (numFilas - 2)) * i) - contAux));
        cb.stroke();
        contAux += 2;
        contar5++;
    }
}
//SEÑALES
String[] auxD1, auxAVF, auxV1;
String[] arregloSeparado;
String arregloUnico;
StringBuilder auxCanI = new StringBuilder();
StringBuilder auxCanII = new StringBuilder();
StringBuilder auxCanIII = new StringBuilder();
int bandera = 1;
int[] D1, AVF, V1, D2, D3, AVR, AVL;
//SEPARACION DE VALORES EN CANALES
arregloUnico = consulta.getArreglo2();
arregloSeparado = arregloUnico.split("@");
for (String arregloFor : arregloSeparado) {
    switch (bandera) {
        case 1:
            auxCanI.append(arregloFor);
            bandera = 2;
            break;
        case 2:
            auxCanII.append(arregloFor);
            bandera = 3;
            break;
        case 3:
            auxCanIII.append(arregloFor);
            bandera = 1;
            break;
    }
}
auxD1 = auxCanI.toString().split(",");
auxAVF = auxCanII.toString().split(",");
auxV1 = auxCanIII.toString().split(",");
D1 = new int[auxD1.length];
AVF = new int[auxD1.length];
V1 = new int[auxD1.length];
D2 = new int[auxD1.length];
D3 = new int[auxD1.length];
AVR = new int[auxD1.length];
AVL = new int[auxD1.length];
for (int i = 0; i < auxD1.length; i++) {
 
    D1[i] = Integer.parseInt(auxD1[i]);
    AVF[i] = Integer.parseInt(auxAVF[i]);
    V1[i] = Integer.parseInt(auxV1[i]);
}
//VALORES DE AVF A POSITIVOS
for (int i = 0; i < AVF.length; i++) {
    AVF[i] = AVF[i] * -1;
}
//OPERACIONES PARA OOBTENER CANALES RESTANTES
//CANAL D2
for (int i = 0; i < D2.length; i++) {
    D2[i] = AVF[i] + (D1[i] / 2);
}
//CANAL D3
for (int i = 0; i < D3.length; i++) {
    D3[i] = D2[i] - D1[i];
}
//CANAL AVR
for (int i = 0; i < AVR.length; i++) {
    AVR[i] = -1 * ((D1[i] + D2[i]) / 2);
}
//CANAL AVL
for (int i = 0; i < AVL.length; i++) {
    AVL[i] = D1[i] - (D2[i] / 2);
}
//PINTADO DE SEÑALES
for (float ptr = 0; ptr <= width; ptr = ptr + dosMiliSegundos) {
    cb.setLineWidth(0.5f);
    cb.setRGBColorStroke(21, 20, 21);
    cb.moveTo(ptr, (filtroAjustador(D1[PTRARRAY] - 50, 8, D1)));
    cb.lineTo(ptr, (filtroAjustador(D1[PTRARRAY + 2], 8, D1)));
    cb.stroke();
    cb.setLineWidth(0.5f);
    cb.setRGBColorStroke(21, 20, 21);
    cb.moveTo(ptr, (filtroAjustador(D2[PTRARRAY] - 50, 7, D2)) - 4);
    cb.lineTo(ptr, (filtroAjustador(D2[PTRARRAY + 2], 7, D2)) - 4);
    cb.stroke();
    cb.setLineWidth(0.5f);
    cb.setRGBColorStroke(21, 20, 21);
    cb.moveTo(ptr, (filtroAjustador(D3[PTRARRAY] - 50, 6, D3)));
    cb.lineTo(ptr, (filtroAjustador(D3[PTRARRAY + 2], 6, D3)));
    cb.stroke();
    cb.setLineWidth(0.5f);
    cb.setRGBColorStroke(21, 20, 21);
    cb.moveTo(ptr, (filtroAjustador(AVF[PTRARRAY] - 50, 5, AVF)));
    cb.lineTo(ptr, (filtroAjustador(AVF[PTRARRAY + 2], 5, AVF)));
    cb.stroke();
    cb.setLineWidth(0.5f);
    cb.setRGBColorStroke(21, 20, 21);
    cb.moveTo(ptr, (filtroAjustador(AVR[PTRARRAY] - 50, 4, AVR)) + 25);
    cb.lineTo(ptr, (filtroAjustador(AVR[PTRARRAY + 2], 4, AVR)) + 25);
    cb.stroke();
    cb.setLineWidth(0.5f);
    cb.setRGBColorStroke(21, 20, 21);
    cb.moveTo(ptr, (filtroAjustador(AVL[PTRARRAY] - 50, 3, AVL)));
    cb.lineTo(ptr, (filtroAjustador(AVL[PTRARRAY + 2], 3, AVL)));
    cb.stroke();
    cb.setLineWidth(0.5f);
    cb.setRGBColorStroke(21, 20, 21);
    cb.moveTo(ptr, (filtroAjustador(V1[PTRARRAY] - 50, 2, V1)) + 28);
    cb.lineTo(ptr, (filtroAjustador(V1[PTRARRAY + 2], 2, V1)) + 28);
    cb.stroke();
    PTRARRAY += 2;
 
private float filtroAjustador(float valor, int canal, int[] array) {
    valor = valor * 15 / 1931;
    valor = valor + (((435 / 8) * canal) - 20) - 10;
    return valor;
}
senal
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder