Imagem com bordas arrendondadas

817 views
Skip to first unread message

Misael Júnior

unread,
Feb 13, 2014, 12:08:32 PM2/13/14
to androidb...@googlegroups.com
Boa tarde meus caros.
Estou tentando deixar uma imagem, que baixo de um servido, com bordas arredondadas. Essa imagem é setada em uma imageview e por ela vir do servidor já quadrada, é mais complicado ter que colocá-la com bordas arredondadas. Tentei deixar o background do imagevew com bordas arredondadas, mas como a imagem já vem quadrada nada fez efeito.
 
Espero receber dicas
abraços

Victor Pinto

unread,
Feb 13, 2014, 1:31:25 PM2/13/14
to androidb...@googlegroups.com

Misael Júnior

unread,
Feb 13, 2014, 4:03:10 PM2/13/14
to androidb...@googlegroups.com
Mas esse AQuery ele deixa as bordas da imagem ou ele aplica as bordas ao imageview? E em que momento do meu código utilizá-lo? 
No meu caso, eu baixo a imagem do servidor


--
You received this message because you are subscribed to the Google Groups "Android Brasil - Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to androidbrasil-...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Diogo Henrique

unread,
Feb 13, 2014, 6:36:13 PM2/13/14
to androidb...@googlegroups.com
Procurar por Bootstrap Android, ou Picasso Android

Diogo Henrique
(83)87344178
Rede Sociais: 




Rudson Lima

unread,
Feb 13, 2014, 7:13:53 PM2/13/14
to androidb...@googlegroups.com

Misael Júnior acho que daria certo o lance do backgroud ai, vc só iria colocar o radiosno  exemplo abaixo e no ImagemView vc configurava os padding Top, Left e etc... Acho que pode funcionar

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
   
   <solid android:color="@color/azul"/>
   <corners android:radius="100dp"/> 
    
   <stroke 
       android:width="2dp"
       android:color="@color/azul"/>
</shape>

Rudson Lima ( live-O )
Desenvolvedor Android - Web Service C# - SQL Server - Delphi
+55 85 87050560 - Fortaleza-ce

Elison Lusvardi

unread,
Feb 13, 2014, 7:21:59 PM2/13/14
to androidb...@googlegroups.com
Tenta com isso aqui:


public static Bitmap getCircularBitmap(Bitmap bitmap) {
Bitmap output;

if (bitmap.getWidth() > bitmap.getHeight()) {
output = Bitmap.createBitmap(bitmap.getHeight(), bitmap.getHeight(), Config.ARGB_8888);
} else {
output = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getWidth(), Config.ARGB_8888);
}

Canvas canvas = new Canvas(output);

final int color = 0xff424242;
final Paint paint = new Paint();
final Rect rect = new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight());

float r = 0;

if (bitmap.getWidth() > bitmap.getHeight()) {
r = bitmap.getHeight() / 2;
} else {
r = bitmap.getWidth() / 2;
}

paint.setAntiAlias(true);
canvas.drawARGB(0, 0, 0, 0);
paint.setColor(color);
canvas.drawCircle(r, r, r, paint);
paint.setXfermode(new PorterDuffXfermode(Mode.SRC_IN));
canvas.drawBitmap(bitmap, rect, rect, paint);
return output;
}

Abraço!

Elison José Gracite Lusvardi

Deivison Servat Sporteman

unread,
Feb 14, 2014, 6:36:09 AM2/14/14
to androidb...@googlegroups.com
No meu projeto : https://play.google.com/store/apps/details?id=com.fawus.duelo.amais ( as imagens da google play não estão atualizadas )   eu utilizo esse custom ImageView:

package com.fawus.duelo.amais.widget;

import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.Bitmap.Config;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.PorterDuff.Mode;
import android.graphics.PorterDuffXfermode;
import android.graphics.Rect;
import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.Drawable;
import android.util.AttributeSet;
import android.widget.ImageView;

public class RoundedImageView extends ImageView {

public RoundedImageView(Context context) {
super(context);
// TODO Auto-generated constructor stub
}

public RoundedImageView(Context context, AttributeSet attrs) {
super(context, attrs);
}

public RoundedImageView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}

@Override
protected void onDraw(Canvas canvas) {

Drawable drawable = getDrawable();

if (drawable == null) {
return;
}

if (getWidth() == 0 || getHeight() == 0) {
return;
}
Bitmap b = ((BitmapDrawable) drawable).getBitmap();
if ( b == null || b.isRecycled() ) return;
Bitmap bitmap = b.copy(Bitmap.Config.RGB_565, true);

int w = getWidth();

Bitmap roundBitmap = getCroppedBitmap(bitmap, w);
canvas.drawBitmap(roundBitmap, 0, 0, null);

}

public static Bitmap getCroppedBitmap(Bitmap bmp, int radius) {
Bitmap sbmp;
if (bmp.getWidth() != radius || bmp.getHeight() != radius)
sbmp = Bitmap.createScaledBitmap(bmp, radius, radius, false);
else
sbmp = bmp;
Bitmap output = Bitmap.createBitmap(sbmp.getWidth(), sbmp.getHeight(),
Config.ARGB_8888);
Canvas canvas = new Canvas(output);

final Paint paint = new Paint();
final Rect rect = new Rect(0, 0, sbmp.getWidth(), sbmp.getHeight());

paint.setAntiAlias(true);
paint.setFilterBitmap(true);
paint.setDither(true);
canvas.drawARGB(0, 0, 0, 0);
paint.setColor(Color.parseColor("#BAB399"));
canvas.drawCircle(sbmp.getWidth() / 2 + 0.7f,sbmp.getHeight() / 2 + 0.7f, sbmp.getWidth() / 2 + 0.1f, paint);
paint.setXfermode(new PorterDuffXfermode(Mode.SRC_IN));
canvas.drawBitmap(sbmp, rect, rect, paint);

return output;
}

}

Andre Souza

unread,
Feb 14, 2014, 7:19:49 AM2/14/14
to androidbrasil-dev@googlegroups com

Misael Júnior

unread,
Feb 14, 2014, 2:14:59 PM2/14/14
to androidb...@googlegroups.com
Chegaste a usar essa solução?



2014-02-14 10:19 GMT-02:00 Andre Souza <deh.o...@gmail.com>:

--

Daniel Novi Capelassi

unread,
Feb 14, 2014, 3:34:29 PM2/14/14
to androidb...@googlegroups.com
Cria 2 imagens com o mesmo tamanho, uma em cima da outra.
Na imagem de baixo é a foto que vc quer exibir e na de cima
é uma imagem com o centro transparente e bordas da cor do background da tela.
A foto vai ficar com cantos arredondados. É simples e não precisa de
processamento para cortar a imagem.
-----------------------------------
Att. Daniel N. Capelassi

Misael Júnior

unread,
Feb 15, 2014, 9:25:24 AM2/15/14
to androidb...@googlegroups.com
Essa foi a solução que deu certo no meu caso. É uma forma bem simples de como deixar as imagens arredondadas. 
Foi muito útil no meu caso, espero que ajude a vocês também!
Abraços e agradeço a todos pelas dicas...

Andre Souza

unread,
Feb 15, 2014, 9:58:09 AM2/15/14
to androidbrasil-dev@googlegroups com

Que bom q essa solucao te ajudou misael! Abs!

Reply all
Reply to author
Forward
0 new messages