Tag: android canvas

如何在位图上绘制粗体文本?

我想要一个带有粗体文本的位图图标在地图上绘制。 我有一个片段写在图像上的文字: Bitmap icon = BitmapFactory.decodeResource(PropertyMapList.this.getResources(), R.drawable.location_mark); TextPaint paint = new TextPaint(); paint.setColor(Color.BLACK); paint.setTextSize(14); paint.setFakeBoldText(true); //paint.setTextAlign(Align.CENTER); Bitmap copy = icon.copy(Bitmap.Config.ARGB_8888, true); Canvas canvas = new Canvas(copy); //canvas.drawText(jsonObj.getString("district_name"), 5, canvas.getHeight()/2, paint); String districtName = jsonObj.getString("district_name"); StaticLayout layout = new StaticLayout((districtName.length()>25 ? districtName.substring(0, 24)+"..":districtName)+"\n"+jsonObj.getString("total_properties"), paint, canvas.getWidth()-10,Layout.Alignment.ALIGN_CENTER, 1.3f, 0, false); canvas.translate(5, canvas.getHeight()/2); //position the text layout.draw(canvas); setFakeBoldText(true)不适用于我。 我想要在位图上绘制的文本加粗。

在Android中将canvas转换为位图图像

我正试图在canvas上开发一个应用程序,我在canvas上绘制位图。绘制完成后,我正在尝试将其转换为位图图像。 谁能给我一个build议。 先谢谢你。

我可以在canvas上使用抗锯齿画吗?

我可以在canvas上使用抗锯齿画吗? 我需要我的圈子和线条有光滑的边缘。

寻找post / pre / set Translate(在Matrix对象中)以及如何使用它们的解释

这些文档对于使用这些方法时实际发生的事情非常模糊。 有人可以解释一下Matrix如何影响它所设置的位图吗? 他们在那里使用连接词,但我不清楚这个词如何适用于坐标数据(以前只用于string操作)。

Android中的hex颜色有时是8位数字。 怎么样? #FFFFFF和#FFFFFF00有什么区别?

我有时候在Android中着色的例子是#FF191919。 我的意思是一个8位hex数字。 但它应该只是一个6位数字。 他们有什么关系? 如果我想把一个6位数字转换成一个8位数字。 怎么做? 我的意思是转换#424242到8位数字着色? 请让我知道的细节。 感谢您的时间和帮助。

Android Canvas.drawText

我有一个视图,我正在使用onDraw(Canvas canvas)方法中的Canvas对象进行绘制。 我的代码是: Paint paint = new Paint(); paint.setColor(Color.WHITE); paint.setStyle(Style.FILL); canvas.drawPaint(paint); paint.setColor(android.R.color.black); paint.setTextSize(20); canvas.drawText("Some Text", 10, 25, paint); 问题是文字没有通过背景显示,我做错了什么? 如果我删除canvas.drawPaint(paint)和paint.setColor(android.R.color.black),你可以看到屏幕上的文字…..

测量在canvas上绘制的文本高度(Android)

任何直接测量文字高度的方法? 我现在做的方法是使用Paint的measureText()来获取宽度,然后通过反复试验find一个值来获得一个近似的高度。 我也一直在搞FontMetrics ,但所有这些看起来像FontMetrics近似方法。 我正在尝试针对不同的分辨率进行缩放。 我可以做到这一点,但我最终得到了很多计算繁琐的代码,以确定相对大小。 我讨厌它! 一定有更好的方法。

测量在canvas上绘制的文字宽度(Android)

有没有一种方法可以根据用于绘制的Paint使用drawText()方法返回在Androidcanvas上绘制文本的宽度(以像素为单位)?

canvas上的Android中心文字

我正在尝试使用下面的代码显示文本。 问题是文本没有水平居中。 当我设置drawText的坐标时,它在这个位置设置文本的底部。 我想要绘制文本,以便文本居中也水平。 这是一个图片来进一步显示我的问题: @Override protected void onDraw(Canvas canvas) { // TODO Auto-generated method stub super.onDraw(canvas); //canvas.drawRGB(2, 2, 200); Paint textPaint = new Paint(); textPaint.setARGB(200, 254, 0, 0); textPaint.setTextAlign(Align.CENTER); textPaint.setTypeface(font); textPaint.setTextSize(300); canvas.drawText("Hello", canvas.getWidth()/2, canvas.getHeight()/2 , textPaint); }

创build一个空的位图,并绘制通过在Android的canvas

我想创build一个空的位图,并设置canvas到该位图,然后在位图上绘制任何形状。