Subversion Repositories eFlore/Applications.cel

Rev

Rev 99 | Rev 140 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 99 Rev 130
Line 74... Line 74...
74
		
74
		
Line 75... Line 75...
75
		tp.applyTo(image.getElement()) ;
75
		tp.applyTo(image.getElement()) ;
76
		
-
 
-
 
76
		
77
		
77
		
78
		this.setCls("x-image-gen") ;
-
 
-
 
78
		this.setCls("x-image-gen") ;
79
		image.setPixelSize(150, 150);
79
 
Line 80... Line 80...
80
		add(image);
80
		add(image);
81
		
81
		image.setPixelSize(150, 150);
Line 102... Line 102...
102
			if (urlImage.length()==0) {
102
			if (urlImage.length()==0) {
103
				raz() ;
103
				raz() ;
104
			}
104
			}
105
			else {
105
			else {
106
				image.setUrl(urlImage);
106
				image.setUrl(urlImage);
-
 
107
				//verifierEtRetaillerImage();
107
			}
108
			}
108
		}
109
		}
Line 109... Line 110...
109
		
110
		
Line 136... Line 137...
136
	
137
	
137
	public void raz() {
138
	public void raz() {
138
		image.setUrl("");
139
		image.setUrl("");
Line -... Line 140...
-
 
140
	}
-
 
141
	
-
 
142
	public void verifierEtRetaillerImage() {
-
 
143
		// si l'image est nulle
-
 
144
		if (image == null) {
-
 
145
			// on ne fait rien
Line -... Line 146...
-
 
146
			return;
-
 
147
		}
-
 
148
 
-
 
149
		// on prend la taille originale de l'image
-
 
150
		int originalX = image.getWidth();
-
 
151
		int originalY = image.getHeight();
-
 
152
 
-
 
153
		// on la transforme en float (la division entre entier donne de curieux
-
 
154
		// résultats)
-
 
155
		float fOriginalX = (new Float(originalX)).floatValue();
-
 
156
		float fOriginalY = (new Float(originalY)).floatValue();
-
 
157
 
-
 
158
		// et on fait le rapport longueur sur hauteur (pour connaitre le ratio)
-
 
159
		float rapportTaille = fOriginalX / fOriginalY;
-
 
160
 
-
 
161
		// la nouvelle taille est pour le moment égale à l'ancienne
-
 
162
		int nouvelleTailleX = originalX;
-
 
163
		int nouvelleTailleY = originalY;
-
 
164
 
-
 
165
		// on prend la taille du conteneur
-
 
166
		int tailleConteneurX = getWidth();
-
 
167
		int tailleConteneurY = getHeight();
-
 
168
		
-
 
169
		int maxConteneur = Math.min(tailleConteneurX, tailleConteneurY);
-
 
170
		int max = Math.min(maxConteneur, 300);
-
 
171
		
-
 
172
		// si l'image ne rentre pas telle quelle (longueur ou hauteur trop
-
 
173
		// grande)	
-
 
174
		// si la longueur de l'image est la plus grande des deux
-
 
175
			
-
 
176
			int maxImage = Math.max(originalX, originalY);
-
 
177
			
-
 
178
			if(maxImage == originalX) {
-
 
179
				// on prend la longueur comme taille de référence, qu'on met à
-
 
180
				// la longueur du conteneur
-
 
181
				nouvelleTailleX = max;
-
 
182
				// et on recalcule la hauteur, par rapport à la nouvelle
-
 
183
				// longueur, en gardant le format de 'limage
-
 
184
				nouvelleTailleY = (int) Math.floor(nouvelleTailleX * 1
-
 
185
						/ rapportTaille);
-
 
186
			} 
-
 
187
			else
-
 
188
			{	
-
 
189
				// si la hauteur est la plus grande, on fait le même genre
-
 
190
				// d'opération en prenant la hauteur comme référence
-
 
191
				nouvelleTailleY = max;
-
 
192
				nouvelleTailleX = (int) Math.floor(nouvelleTailleY
-
 
193
						* rapportTaille);
-
 
194
			}
-
 
195
 
-
 
196
		// on modifie enfin la taille de l'image pour qu'elle soit affichée
-
 
197
			image.setPixelSize(nouvelleTailleX ,
-
 
198
					nouvelleTailleY);
139
	}
199