دایره ای کردن تصاویر با کدهای جاوا در B4A

با سلام و سپاس خدمت کاربران عزیز سایت یاهو ۹۸ YAHOO

 

امروز با قطعه کدی کاربردی دیگر در خدمتتون هستیم  امیدوارم مطلب فوق مورد قبول شما قرار گیرد .

 

✅ دایره ای کردن تصاویر با کدهای جاوا :

 

Dim jo As JavaObject
jo.InitializeContext
Dim bm As Bitmap
bm.Initialize(File.DirAssets,"ax.jpg")
bm = jo.RunMethod("getRoundBitmap",Array(bm,Colors.Transparent,0))
ImageView1.Bitmap = bm
ImageView1.Gravity = Gravity.FILL

 

🔴 کدهای جاوای زیر را بین Sub ها قرار دهید:

 

 

#If Java
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.Path;
import android.graphics.Rect;
import android.graphics.RectF;
import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.Drawable;
import android.graphics.Path.FillType;
import android.graphics.Paint;
import android.graphics.Color; 


public static Bitmap getRoundBitmap(Bitmap scaleBitmapImage, int borderColor, int borderWidth) {
  int targetWidth = 1000;
  int targetHeight = 1000;
  int radius = Math.min((targetHeight - 5)/2, (targetWidth - 5)/2);   
  
  Bitmap targetBitmap = Bitmap.createBitmap(targetWidth, targetHeight,
      Bitmap.Config.ARGB_8888);

  Canvas canvas = new Canvas(targetBitmap);
  Path path = new Path();
  path.addCircle(((float) targetWidth - 1) / 2,
      ((float) targetHeight - 1) / 2,
      (Math.min(((float) targetWidth), ((float) targetHeight)) / 2),
      Path.Direction.CCW);

  canvas.clipPath(path);
  
  Bitmap sourceBitmap = scaleBitmapImage;
  
  canvas.drawBitmap(sourceBitmap, new Rect(0, 0, sourceBitmap.getWidth(),
      sourceBitmap.getHeight()), new Rect(0, 0, targetWidth,
      targetHeight), null);
      
      
  Paint p = new Paint();                                              
  p.setAntiAlias(true);               
  //  canvas.drawBitmap(sourceBitmap, 4, 4, p);                                      
  p.setXfermode(null);                                                
  p.setStyle(Paint.Style.STROKE);                                           
  p.setColor(borderColor);                                            
  p.setStrokeWidth(borderWidth);                                                
  canvas.drawCircle((targetWidth / 2) , (targetHeight / 2) , radius, p);                  

  return targetBitmap;
}


  public static Bitmap addSquareBorder(Bitmap bmp, int borderSize, int bordercolor) {
      
        Bitmap bmpWithBorder = Bitmap.createScaledBitmap(bmp, bmp.getWidth() + borderSize * 2, bmp.getHeight() + borderSize * 2, false);      
      
      Canvas canvas = new Canvas(bmpWithBorder);
      canvas.drawColor(bordercolor);
      canvas.drawBitmap(bmp, borderSize, borderSize, null);
      return bmpWithBorder;
  }  
  



  #End If

دیدگاهتان را بنویسید