从图像绘制轮廓

问题描述 投票:0回答:1

我想通过在背景中绘制并扩展第二张图片来在图片周围绘制轮廓,但是我不是很成功,如何绘制规则的笔画?

我绘制的轮廓:“单击以查看图片”“>

我要绘制的轮廓:“单击以查看图片”“>

我的代码;

private Bitmap ContourBitmap() {
int strokeWidth = 8;
Bitmap originalBitmap =  BitmapFactory.decodeResource(getResources(), R.drawable.flower_icon);
Bitmap newStrokedBitmap = Bitmap.createBitmap(originalBitmap.getWidth() + 2 * strokeWidth, 
originalBitmap.getHeight() + 2 * strokeWidth, Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(newStrokedBitmap);
float scaleX = (originalBitmap.getWidth() + 2.0f * strokeWidth) / originalBitmap.getWidth();
float scaleY = (originalBitmap.getHeight() + 2.0f * strokeWidth) / originalBitmap.getHeight();
Matrix matrix = new Matrix();
matrix.setScale(scaleX, scaleY);
canvas.drawBitmap(originalBitmap, matrix, null);
canvas.drawColor(Color.WHITE, PorterDuff.Mode.SRC_ATOP); //Color.WHITE is stroke color
canvas.drawBitmap(originalBitmap, strokeWidth, strokeWidth, null);
}

我想通过在背景中绘制并扩展第二张图片来在图片周围绘制轮廓,但是我不是很成功,如何绘制常规笔画?我绘制的轮廓:...

android matrix canvas bitmap contour
1个回答
0
投票

这是一种策略,我们绘制相同的原始图片,但略有偏移

© www.soinside.com 2019 - 2024. All rights reserved.