pitse Posté(e) 14 juillet 2010 Share Posté(e) 14 juillet 2010 bonjour, dans le cadre d'un lecteur de flux rss ( oui, on a connu plus original j'en conviens :p ) j'ai besoin d'afficher des images vignettes relatif aux articles le probleme c'est que l'image a une taille différente en fonction des flux rss pouvez vous m'aider a redimentionner cette derniere ? actuellement son contenu est stocké en bdd suggerez vous de faire un resize logiciel puis de stocker l'image a la bonne taille ou bien de faire le resize dans la gui ? j'ai essayé la 2em methode sans succes: android:id="@+id/icon" android:layout_width="wrap_content" android:layout_height="fill_parent" android:layout_marginRight="6dip" android:src="@drawable/icon" android:maxWidth="81px" android:maxHeight="50px"/> cela n'a aucun effet :/ merci pour votre aide ! Lien vers le commentaire Partager sur d’autres sites More sharing options...
pitse Posté(e) 14 juillet 2010 Auteur Share Posté(e) 14 juillet 2010 je poste ma reponse parce que ca peux servir a d'autre ;) public static ByteArrayOutputStream getImageOutputStream(String url,int newWidth,int newHeight) throws ClientProtocolException, IOException{ ByteArrayOutputStream out =null; DefaultHttpClient mHttpClient = new DefaultHttpClient(); HttpGet mHttpGet = new HttpGet(url); HttpResponse mHttpResponse = mHttpClient.execute(mHttpGet); if (mHttpResponse.getStatusLine().getStatusCode() == HttpStatus.SC_OK) { HttpEntity entity = mHttpResponse.getEntity(); if ( entity != null) { byte[] bb= EntityUtils.toByteArray(entity); Bitmap bm=BitmapFactory.decodeByteArray(bb, 0, bb.length); out = new ByteArrayOutputStream(); resizeBitmap(bm,newWidth,newHeight).compress(Bitmap.CompressFormat.PNG, 100, out); } } return out; } public static Bitmap resizeBitmap(Bitmap orig,int newWidth,int newHeight){ int width = orig.getWidth(); int height = orig.getHeight(); float scaleWidth = ((float) newWidth) / width; float scaleHeight = ((float) newHeight) / height; Matrix matrix = new Matrix(); matrix.postScale(scaleWidth, scaleHeight); Bitmap resizedBitmap = Bitmap.createBitmap(orig, 0, 0,width, height, matrix, true); return resizedBitmap; } la premiere methode permet de gerer directement une url d'image depuis le net Lien vers le commentaire Partager sur d’autres sites More sharing options...
akex Posté(e) 14 juillet 2010 Share Posté(e) 14 juillet 2010 Merci Pitse. SI tu veux tu peux ajouter cette astuce dans le wiki. Allez y, c'est gratuit :D Lien vers le commentaire Partager sur d’autres sites More sharing options...
Pierre87 Posté(e) 18 juillet 2010 Share Posté(e) 18 juillet 2010 Il suffit de donner une taille fixe en pixel/dip à ton ImageView L'image remplira ton ImageView Lien vers le commentaire Partager sur d’autres sites More sharing options...
pitse Posté(e) 18 juillet 2010 Auteur Share Posté(e) 18 juillet 2010 Il suffit de donner une taille fixe en pixel/dip à ton ImageViewL'image remplira ton ImageView ce n'est pas ce que j'avais premierement essayé via: android:src="@drawable/icon" android:maxWidth="81px" android:maxHeight="50px"/> ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
Pierre87 Posté(e) 18 juillet 2010 Share Posté(e) 18 juillet 2010 android:layout_width="81px" android:layout_height="50px" Lien vers le commentaire Partager sur d’autres sites More sharing options...
pitse Posté(e) 18 juillet 2010 Auteur Share Posté(e) 18 juillet 2010 android:layout_width="81px"android:layout_height="50px" je note pour une proochaine fois, cependant la solution que j'ai trouvé par la suite me conviens mieux et me semble moins gourmande en ressource ; ) merci en tout cas, Lien vers le commentaire Partager sur d’autres sites More sharing options...
Pierre87 Posté(e) 18 juillet 2010 Share Posté(e) 18 juillet 2010 fais gaffe à ne pas bloquer ton ui thread :P Lien vers le commentaire Partager sur d’autres sites More sharing options...
pitse Posté(e) 18 juillet 2010 Auteur Share Posté(e) 18 juillet 2010 fais gaffe à ne pas bloquer ton ui thread :P il est actuellement dans un thread justement pour eviter les freezes ;) Lien vers le commentaire Partager sur d’autres sites More sharing options...
Recommended Posts
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.