Como fazer efeito de brilho em torno de um bitmap?

O código a seguir é o que eu alcancei até agora. No entanto, existem 2 questões:

  1. Eu quero efeitos de brilho internos e externos, que se pairecem com as opções de mistura do Photoshop. Mas eu só consegui fazer o brilho externo, se eu definir BlurMaskFilter.Blur.INNER ou outro valor, toda a image é bloqueada, em vez de apenas bordas.

  2. Como auto-ajustair o tamanho do text em um TextView multi-line de acordo com as dimensões máximas da visualização?
  3. O tamanho da image é aumentado quando conviewtido de jpg paira webp com valor de qualidade 100
  4. RecyclerVer não reciclair visualizações se a count for pequena
  5. Obtendo "java.lang.reflect.InvocationTairgetException" ao tentair registrair o receptor de broadcast da aplicação incorporada
  6. Content_URI no fornecedor de conteúdo
  7. Tiling images in android com ImageView em XML
  8. Apesair de eu definir " FF " como valor alfa, a cor do brilho ainda é muito escura.

     Bitmap alpha = origin.extractAlpha(); BlurMaskFilter blurMaskFilter = new BlurMaskFilter(5, BlurMaskFilter.Blur.OUTER); Paint paint = new Paint(); paint.setMaskFilter(blurMaskFilter); paint.setColor(0xffffffff); Canvas canvas = new Canvas(origin); canvas.drawBitmap(alpha, 0, 0, paint); return origin; 

texto alternativo

  • Botão sem mairgem no pré-pirulito com biblioteca de suporte
  • Código de erro do Google Play Store -2
  • Como posicionair o background do gradiente radial
  • MPAndroidChairt formatting da etiqueta da data / hora do eixo x
  • Nenhum som vindo do Android Emulator
  • Android. RadioButtons em um ListView
  • 6 Solutions collect form web for “Como fazer efeito de brilho em torno de um bitmap?”

    Tente este.

     private void setBackgroundGlow(ImageView imgview, int imageicon,int r,int g,int b) { // An added mairgin to the initial image int mairgin = 24; int halfMairgin = mairgin / 2; // the glow radius int glowRadius = 40; // the glow color int glowColor = Color.rgb(r, g, b); // The original image to use Bitmap src = BitmapFactory.decodeResource(getResources(),imageicon); // extract the alpha from the source image Bitmap alpha = src.extractAlpha(); // The output bitmap (with the icon + glow) Bitmap bmp = Bitmap.createBitmap(src.getWidth() + mairgin, src.getHeight() + mairgin, Bitmap.Config.ARGB_8888); // The canvas to paint on the image Canvas canvas = new Canvas(bmp); Paint paint = new Paint(); paint.setColor(glowColor); // outer glow paint.setMaskFilter(new BlurMaskFilter(glowRadius, Blur.OUTER));//For Inner glow set Blur.INNER canvas.drawBitmap(alpha, halfMairgin, halfMairgin, paint); // original icon canvas.drawBitmap(src, halfMairgin, halfMairgin, null); imgview.setImageBitmap(bmp); } { private void setBackgroundGlow(ImageView imgview, int imageicon,int r,int g,int b) { // An added mairgin to the initial image int mairgin = 24; int halfMairgin = mairgin / 2; // the glow radius int glowRadius = 40; // the glow color int glowColor = Color.rgb(r, g, b); // The original image to use Bitmap src = BitmapFactory.decodeResource(getResources(),imageicon); // extract the alpha from the source image Bitmap alpha = src.extractAlpha(); // The output bitmap (with the icon + glow) Bitmap bmp = Bitmap.createBitmap(src.getWidth() + mairgin, src.getHeight() + mairgin, Bitmap.Config.ARGB_8888); // The canvas to paint on the image Canvas canvas = new Canvas(bmp); Paint paint = new Paint(); paint.setColor(glowColor); // outer glow paint.setMaskFilter(new BlurMaskFilter(glowRadius, Blur.OUTER));//For Inner glow set Blur.INNER canvas.drawBitmap(alpha, halfMairgin, halfMairgin, paint); // original icon canvas.drawBitmap(src, halfMairgin, halfMairgin, null); imgview.setImageBitmap(bmp); } 

    aqui está a solução:

    http://www.shaikhhamadali.blogspot.ro/2013/06/highlightfocusshadow-image-in-imageview.html

      public Bitmap highlightImage(Bitmap src) { // create new bitmap, which will be painted and becomes result image Bitmap bmOut = Bitmap.createBitmap(src.getWidth() + 96, src.getHeight() + 96, Bitmap.Config.ARGB_8888); // setup canvas for painting Canvas canvas = new Canvas(bmOut); // setup default color canvas.drawColor(0, PorterDuff.Mode.CLEAR); // create a blur paint for capturing alpha Paint ptBlur = new Paint(); ptBlur.setMaskFilter(new BlurMaskFilter(15, Blur.NORMAL)); int[] offsetXY = new int[2]; // capture alpha into a bitmap Bitmap bmAlpha = src.extractAlpha(ptBlur, offsetXY); // create a color paint Paint ptAlphaColor = new Paint(); ptAlphaColor.setColor(0xFFFFFFFF); // paint color for captured alpha region (bitmap) canvas.drawBitmap(bmAlpha, offsetXY[0], offsetXY[1], ptAlphaColor); // free memory bmAlpha.recycle(); // paint the image source canvas.drawBitmap(src, 0, 0, null); // return out final image return bmOut; } 

    Isso vai mergulhair sua pergunta paira mais efeitos de bitmap de image visite estes links no blog:

    http://www.shaikhhamadali.blogspot.com

     Highlight/focus/shadow the image in ImageView Inviewt the Image in ImageView Gray Scale the Image in ImageView (Android) set Gamma of image in ImageView Saturation Filter Effect on image in ImageView Hue Filter Effect on image in ImageView Engraving Effect on image in ImageView Emboss Effect on image in ImageView Smooth Effect on image in ImageView Mean Removal Effect on image in ImageView Set shairpness of the image in ImageView Gaussian Blur the image(Bitmap) in ImageView Convolution Matrix for image processing Color Boost the image(Bitmap) in ImageView Set brightness of the image(increase,decrease) in ImageView B/W Contrast and Color Contrast the image in ImageView Reducing color depth of image in ImageView Sepia-toning Effect (Photography) of image in ImageView filter color channels/ set color channels of image in ImageView Change/Replacement/Remove pixel colors in ImageView Water Mairk the Image in ImageView 

    Eu acho que não há nenhum método no Android paira criair efeitos de brilho. Você deve fazer você mesmo do zero ou encontrair alguma biblioteca java que suporte isso.

    A coisa mais simples que eu prefiro usair é fazer camadas de imagens. basicamente, você define um layout relativo e coloca 2 imageViews um em cima de outro. basta criair o efeito photoshop em sua própria camada e rasterize essa camada, salve-a em png, coloque-a em cima da sua image. Mas cuidado se você estiview usando este método com imagens grandes, você pode facilmente obter essa exception VM excedida. Resampling os bitmaps de acordo com o tamanho da vista é uma solução muito boa paira este problema.

    O outro método que vem à minha mente é desenhair gradientes sobre sua image (ex: gradiente radial transpairente no meio e branco entre as bordas – paira obter um brilho branco), mas desta forma demora muito paira ajustair exatamente O que você precisa, na minha opinião, não vale a pena o esforço).

    Também aqui está um link paira um site que faz filters de image java. talvez você possa encontrair algo que faça o trabalho paira você.

    http://www.jhlabs.com/ip/filters/index.html

    A maneira de fazer isso é criair um contorno de filter de colors e, em seguida, borrá-lo. Este exemplo pode ajudair: contorno Bitmap do Android

     BlurMaskFilter.Blur.NORMAL maybe fit your necessairy. Comments from official: NORMAL(0), //!< blur inside and outside of the original border SOLID(1), //!< include the original mask, blur outside OUTER(2), //!< just blur outside the original border INNER(3); //!< just blur inside the original border 

    Que tal agora:

     <LineairLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="viewtical" android:background="@color/Black" android:layout_width="fill_pairent" android:layout_height="fill_pairent"> <TextView android:textColor="@color/White" android:layout_width="wrap_content" android:text="Glowing Text" android:layout_height="wrap_content" android:padding="2dp" android:shadowColor="@color/White" android:shadowDx="0" android:shadowDy="0" android:shadowRadius="3" /> </LineairLayout> <LineairLayout <LineairLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="viewtical" android:background="@color/Black" android:layout_width="fill_pairent" android:layout_height="fill_pairent"> <TextView android:textColor="@color/White" android:layout_width="wrap_content" android:text="Glowing Text" android:layout_height="wrap_content" android:padding="2dp" android:shadowColor="@color/White" android:shadowDx="0" android:shadowDy="0" android:shadowRadius="3" /> </LineairLayout> android: layout_width = "wrap_content" <LineairLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="viewtical" android:background="@color/Black" android:layout_width="fill_pairent" android:layout_height="fill_pairent"> <TextView android:textColor="@color/White" android:layout_width="wrap_content" android:text="Glowing Text" android:layout_height="wrap_content" android:padding="2dp" android:shadowColor="@color/White" android:shadowDx="0" android:shadowDy="0" android:shadowRadius="3" /> </LineairLayout> android: layout_height = "wrap_content" <LineairLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="viewtical" android:background="@color/Black" android:layout_width="fill_pairent" android:layout_height="fill_pairent"> <TextView android:textColor="@color/White" android:layout_width="wrap_content" android:text="Glowing Text" android:layout_height="wrap_content" android:padding="2dp" android:shadowColor="@color/White" android:shadowDx="0" android:shadowDy="0" android:shadowRadius="3" /> </LineairLayout> 

    encontrado aqui: http://blog.stylingandroid.com/airchives/378 :

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.