List of usage examples for android.graphics Paint Paint
public Paint(Paint paint)
From source file:Main.java
private static Paint getGlossPaint() { Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG); paint.setColor(0x22FFFFFF);// www. java 2 s . c om return paint; }
From source file:Main.java
public static Bitmap drawTextToBitmap(Bitmap bitmap, String gText) { //Resources resources = gContext.getResources(); //float scale = resources.getDisplayMetrics().density; android.graphics.Bitmap.Config bitmapConfig = bitmap.getConfig(); // set default bitmap config if none if (bitmapConfig == null) { bitmapConfig = android.graphics.Bitmap.Config.ARGB_8888; }//from w w w . jav a 2s .c om // resource bitmaps are imutable, // so we need to convert it to mutable one bitmap = bitmap.copy(bitmapConfig, true); Canvas canvas = new Canvas(bitmap); // new antialised Paint Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG); // text color - #3D3D3D paint.setColor(Color.rgb(61, 61, 61)); // text size in pixels paint.setTextSize((int) (21)); //* scale)); // text shadow paint.setShadowLayer(2f, 1f, 1f, Color.WHITE); // draw text to the Canvas center //Rect bounds = new Rect(); //paint.getTextBounds(gText, 0, gText.length(), bounds); int x = bitmap.getWidth() - 150;//bounds.width()) - 150; int y = bitmap.getHeight() - 27;//bounds.height()) - 30; // fill canvas.drawRect(x, y, x + 150, y + 27, paint); canvas.drawText(gText, x, y + 20, paint); return bitmap; }
From source file:Main.java
/** * Frames the input bitmap in a circle.// w w w. ja v a 2s .c o m */ public static Bitmap frameBitmapInCircle(Bitmap input) { if (input == null) { return null; } // Crop the image if not squared. int inputWidth = input.getWidth(); int inputHeight = input.getHeight(); int targetX, targetY, targetSize; if (inputWidth >= inputHeight) { targetX = inputWidth / 2 - inputHeight / 2; targetY = 0; targetSize = inputHeight; } else { targetX = 0; targetY = inputHeight / 2 - inputWidth / 2; targetSize = inputWidth; } // Create an output bitmap and a canvas to draw on it. Bitmap output = Bitmap.createBitmap(targetSize, targetSize, Bitmap.Config.ARGB_8888); Canvas canvas = new Canvas(output); // Create a black paint to draw the mask. Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG); paint.setColor(Color.BLACK); // Draw a circle. canvas.drawCircle(targetSize / 2, targetSize / 2, targetSize / 2, paint); // Replace the black parts of the mask with the input image. paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN)); canvas.drawBitmap(input, targetX /* left */, targetY /* top */, paint); return output; }
From source file:Main.java
public static Bitmap cropMaxVisibleBitmap(Drawable drawable, int iconSize) { Bitmap tmp = Bitmap.createBitmap(drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight(), Bitmap.Config.ARGB_8888);//from ww w .j a v a2 s . c o m Canvas canvas = new Canvas(tmp); drawable.setBounds(0, 0, canvas.getWidth(), canvas.getHeight()); drawable.draw(canvas); Rect crop = new Rect(tmp.getWidth(), tmp.getHeight(), -1, -1); for (int y = 0; y < tmp.getHeight(); y++) { for (int x = 0; x < tmp.getWidth(); x++) { int alpha = (tmp.getPixel(x, y) >> 24) & 255; if (alpha > 0) { // pixel is not 100% transparent if (x < crop.left) crop.left = x; if (x > crop.right) crop.right = x; if (y < crop.top) crop.top = y; if (y > crop.bottom) crop.bottom = y; } } } if (crop.width() <= 0 || crop.height() <= 0) { return Bitmap.createScaledBitmap(tmp, iconSize, iconSize, true); } // We want to crop a square region. float size = Math.max(crop.width(), crop.height()); float xShift = (size - crop.width()) * 0.5f; crop.left -= Math.floor(xShift); crop.right += Math.ceil(xShift); float yShift = (size - crop.height()) * 0.5f; crop.top -= Math.floor(yShift); crop.bottom += Math.ceil(yShift); Bitmap finalImage = Bitmap.createBitmap(iconSize, iconSize, Bitmap.Config.ARGB_8888); canvas.setBitmap(finalImage); float scale = iconSize / size; canvas.scale(scale, scale); canvas.drawBitmap(tmp, -crop.left, -crop.top, new Paint(Paint.ANTI_ALIAS_FLAG | Paint.FILTER_BITMAP_FLAG)); canvas.setBitmap(null); return finalImage; }
From source file:Main.java
/** * A potentially expensive operation to crop the given Bitmap so that it fills the given dimensions. This operation * is significantly less expensive in terms of memory if a mutable Bitmap with the given dimensions is passed in * as well./*from ww w .j ava 2 s . c o m*/ * * @param recycled A mutable Bitmap with dimensions width and height that we can load the cropped portion of toCrop * into * @param toCrop The Bitmap to resize * @param width The width of the final Bitmap * @param height The height of the final Bitmap * @return The resized Bitmap (will be recycled if recycled is not null) */ public static Bitmap centerCrop(Bitmap recycled, Bitmap toCrop, int width, int height) { if (toCrop == null) { return null; } else if (toCrop.getWidth() == width && toCrop.getHeight() == height) { return toCrop; } //from ImageView/Bitmap.createScaledBitmap //https://android.googlesource.com/platform/frameworks/base/+/refs/heads/master/core/java/android/widget/ImageView.java //https://android.googlesource.com/platform/frameworks/base/+/refs/heads/master/graphics/java/android/graphics/Bitmap.java final float scale; float dx = 0, dy = 0; Matrix m = new Matrix(); if (toCrop.getWidth() * height > width * toCrop.getHeight()) { scale = (float) height / (float) toCrop.getHeight(); dx = (width - toCrop.getWidth() * scale) * 0.5f; } else { scale = (float) width / (float) toCrop.getWidth(); dy = (height - toCrop.getHeight() * scale) * 0.5f; } m.setScale(scale, scale); m.postTranslate((int) dx + 0.5f, (int) dy + 0.5f); final Bitmap result; if (recycled != null) { result = recycled; } else { result = Bitmap.createBitmap(width, height, toCrop.getConfig() == null ? Bitmap.Config.ARGB_8888 : toCrop.getConfig()); } Canvas canvas = new Canvas(result); Paint paint = new Paint(PAINT_FLAGS); canvas.drawBitmap(toCrop, m, paint); return result; }
From source file:Main.java
/** * This is only used when the launcher shortcut is created. * //from ww w. j a v a 2s . c om * @param bitmap The artist, album, genre, or playlist image that's going to * be cropped. * @param size The new size. * @return A {@link Bitmap} that has been resized and cropped for a launcher * shortcut. */ public static final Bitmap resizeAndCropCenter(final Bitmap bitmap, final int size) { Bitmap blurbitmap = null; final int w = bitmap.getWidth(); final int h = bitmap.getHeight(); if (w == size && h == size) { return bitmap; } ByteArrayOutputStream bos = new ByteArrayOutputStream(); bitmap.compress(CompressFormat.PNG, 0 /*ignored for PNG*/, bos); byte[] bitmapdata = bos.toByteArray(); ByteArrayInputStream bs = new ByteArrayInputStream(bitmapdata); try { final BitmapFactory.Options options = new BitmapFactory.Options(); options.inSampleSize = 8; options.inJustDecodeBounds = true; blurbitmap = BitmapFactory.decodeStream(bs, null, options); options.inJustDecodeBounds = false; } catch (Exception e) { e.printStackTrace(); } finally { if (bs != null) { try { bs.close(); } catch (IOException e) { e.printStackTrace(); } } } final float mScale = (float) size / Math.min(w, h); final Bitmap mTarget = Bitmap.createBitmap(size, size, Bitmap.Config.ARGB_8888); final int mWidth = Math.round(mScale * blurbitmap.getWidth()); final int mHeight = Math.round(mScale * blurbitmap.getHeight()); final Canvas mCanvas = new Canvas(mTarget); mCanvas.translate((size - mWidth) / 2f, (size - mHeight) / 2f); mCanvas.scale(mScale, mScale); final Paint paint = new Paint(Paint.FILTER_BITMAP_FLAG | Paint.DITHER_FLAG); mCanvas.drawBitmap(bitmap, 0, 0, paint); return mTarget; }
From source file:android.support.design.widget.CircularBorderDrawable.java
public CircularBorderDrawable() { mPaint = new Paint(Paint.ANTI_ALIAS_FLAG); mPaint.setStyle(Paint.Style.STROKE); }
From source file:com.google.android.apps.santatracker.doodles.shared.physics.Polygon.java
public Polygon(List<Vector2D> vertices) { this.vertices = vertices; min = Vector2D.get(0, 0);//from w ww . j ava2 s . co m max = Vector2D.get(0, 0); vertexPaint = new Paint(Paint.ANTI_ALIAS_FLAG); vertexPaint.setColor(Color.RED); midpointPaint = new Paint(Paint.ANTI_ALIAS_FLAG); midpointPaint.setColor(Color.GREEN); midpointPaint.setAlpha(100); linePaint = new Paint(Paint.ANTI_ALIAS_FLAG); linePaint.setColor(Color.WHITE); linePaint.setStrokeWidth(5); updateExtents(); updateInversionStatus(); calculateNormals(); }
From source file:Main.java
/** * Draw input bitmap in shadow color and offset. Assumes offset is positive. * * @param inBitmap/*from w w w .j a v a 2s .c om*/ * @param offsetX * @param offsetY * @param blurRadius Not used * @param shadowColor * @return */ public static Bitmap shadowBitmap(Bitmap inBitmap, int offsetX, int offsetY, float blurRadius, int shadowColor) { int imgWidth = inBitmap.getWidth(); int imgHeight = inBitmap.getHeight(); Bitmap bottomBm = Bitmap.createBitmap(imgWidth, imgHeight, Bitmap.Config.ARGB_8888); Canvas bottomCanvas = new Canvas(bottomBm); // bottomCanvas.drawColor(shadowColor); Paint bottomPaint = new Paint(Paint.ANTI_ALIAS_FLAG); bottomPaint.setColor(shadowColor); bottomCanvas.drawRect(offsetX, offsetY, imgWidth, imgHeight, bottomPaint); // MaskFilter filter = new BlurMaskFilter(Math.max(0.5f, blurRadius), BlurMaskFilter.Blur.NORMAL); bottomPaint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.DST_ATOP)); // bottomPaint.setShadowLayer(blurRadius, offsetX, offsetX, shadowColor); // bottomPaint.setMaskFilter(filter); bottomCanvas.drawBitmap(inBitmap, offsetX, offsetY, bottomPaint); return bottomBm; }
From source file:com.cssweb.android.base.QuoteGridActivity.java
public QuoteGridActivity() { Paint localPaint = new Paint(Paint.ANTI_ALIAS_FLAG); this.mPaint = localPaint; this.mPaint.setTextSize(this.mFontSize); textWeight = this.mPaint.measureText("?"); int[] arrayOfInt1 = new int[3]; this.residTitleScrollCol = arrayOfInt1; this.residTitleCol = 0; this.residCol = 0; int[] arrayOfInt2 = new int[3]; this.residScrollCol = arrayOfInt2; this.residSelColor = Color.DKGRAY; }