2016-06-15 80 views
1

我在位图上绘制一个圆并将此位图设置为ImageView。圆形绘制正确,但我不希望它是一个实心圆有没有办法让填充区域透明? 我使用下面的代码如何在未填充的情况下在位图上绘制圆形?

Bitmap bmp = RasterImageConverter.convertToBitmap(_loadedImage, ConvertToImageOptions.NONE.getValue()); 
Canvas c = new Canvas(bmp); 
c = new Canvas(bmp); 
myimgview.draw(c); 
Paint p = new Paint(); 
p.setColor(Color.RED); 
float x=(float) circleX; 
float y=(float) circleY; 
float Tx=(float) textX; 
float Ty=(float)textY; 
// c.drawLine(x, y, xend, yend, p); 
c.drawCircle(300, 300, 200, p); 
c.drawText(myText, Tx, Ty, p); 
myimgview.setImageBitmap(bmp); 

回答

0

你需要画图风格改变行程:

Paint p = new Paint(); 
p.setStyle(Paint.Style.STROKE); 
+0

谢谢你,它的工作:) –

2

您需要通知油漆,您不使用填充样式,而是使用笔触样式。

The default is FILL

样式指定是否正在绘制的图元被填充,抚摸或两者(在相同的颜色)。 默认为FILL。

所以,你的代码必须是:

Paint p = new Paint(); 
p.setStyle(Paint.Style.STROKE); 

Here解释不同风格之间的差异。

行程 几何形状和这种风格绘制的文本将被抚摸,尊重上油漆中风相关的领域。

FILL 使用此样式绘制的几何图形和文字将被填充,忽略绘画中所有与笔画相关的设置。

FILL_AND_STROKE 几何和文本这种风格绘制将被填充的和同时抚摸,尊重上油漆中风相关的领域。通过调用方法

p.setStyle(Paint.Style.STROKE); 

+0

谢谢你,它的工作:) –

+0

@Android_Learner如果你发现一个答案是你可以给予好评有用,并最终将其标记为与绿色正确的答案国旗 –

+0

是的,我没有...... –

0

你几乎没有......你需要设置style of the Paint对象...

的选项有:

enter image description here

例如:

Bitmap bmp = RasterImageConverter.convertToBitmap(_loadedImage, ConvertToImageOptions.NONE.getValue()); 
Canvas c = new Canvas(bmp); 
c = new Canvas(bmp); 
myimgview.draw(c); 
Paint p = new Paint(); 
p.setColor(Color.RED); 
p.setStyle(Paint.Style.STROKE); 
+0

感谢它的工作:) –

+0

不客气,不要忘记投票/接受答案 –

+0

是的,我没有...... :) –

相关问题