Ad esempio, desidero un bordo bianco di 10 pixel attorno ai 4 lati della bitmap. Non lo sto usando per imageview Attualmente sto usando questo codice per ritagliare l'immagine. Posso sapere come aggiungere un bordo bianco?Come creare un bordo bianco attorno alla bitmap?
public Bitmap scaleCenterCrop(Bitmap source, int newHeight, int newWidth) {
int sourceWidth = source.getWidth();
int sourceHeight = source.getHeight();
// Compute the scaling factors to fit the new height and width, respectively.
// To cover the final image, the final scaling will be the bigger
// of these two.
float xScale = (float) newWidth/sourceWidth;
float yScale = (float) newHeight/sourceHeight;
float scale = Math.max(xScale, yScale);
// Now get the size of the source bitmap when scaled
float scaledWidth = scale * sourceWidth;
float scaledHeight = scale * sourceHeight;
// Let's find out the upper left coordinates if the scaled bitmap
// should be centered in the new size give by the parameters
float left = (newWidth - scaledWidth)/2;
float top = (newHeight - scaledHeight)/2;
// The target rectangle for the new, scaled version of the source bitmap will now
// be
RectF targetRect = new RectF(left, top, left + scaledWidth, top + scaledHeight);
// Finally, we create a new bitmap of the specified size and draw our new,
// scaled bitmap onto it.
Bitmap dest = Bitmap.createBitmap(newWidth, newHeight, source.getConfig());
Canvas canvas = new Canvas(dest);
canvas.drawBitmap(source, null, targetRect, null);
return dest;
}
non funzionante. il bordo bianco dell'immagine non appare sul 4 lato. solo un bordo per la parte superiore e inferiore – ericlee
bene hai l'idea di base giocare con le dimensioni targetRect e bitmap per ottenere l'effetto desiderato. – caguilar187