gpt4 book ai didi

android - 在谷歌地图中旋转的颗粒状标记

转载 作者:行者123 更新时间:2023-11-30 03:35:44 24 4
gpt4 key购买 nike

我使用此代码创建了一个包含任何图像的 map :

icon_pin = BitmapFactory.decodeResource(getApplicationContext().getResources(), R.drawable.arrow);
int w = icon_pin.getWidth();
int h = icon_pin.getHeight();
Bitmap.Config conf = Bitmap.Config.ARGB_8888;

Bitmap bmp = Bitmap.createBitmap(w, h, conf);


final float centerX = w / 2.0f;
final float centerY = h / 2.0f;

Canvas canvas = new Canvas(bmp);
canvas.rotate(m.getDirection(), centerX, centerY);

canvas.drawBitmap(icon_pin, new Matrix(), null);

但是当我旋转图像时,结果非常粗糙(如本例中的绿色箭头:http://img837.imageshack.us/img837/4624/screenshot2013052111381.png)

我做错了什么?有可能改进定义吗?

最佳答案

看起来您需要在启用抗锯齿的情况下进行绘制。在这一行中:

canvas.drawBitmap(icon_pin, new Matrix(), null);

您可以指定用于绘图的Paint 对象。在上面,您使用了 null。您可以在调用 canvas.drawBitmap() 之前添加这些行:

Paint myPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
myPaint.setFilterBitmap(true);

然后将最后一行更改为:

canvas.drawBitmap(icon_pin, new Matrix(), myPaint);

这段代码创建了一个启用了抗锯齿的新Paint 对象,它有望消除标记上的锯齿状边缘。

注意:您还可以使用 Paint 为绘图应用颜色、alpha 阴影和其他炫酷效果。请参阅 Android 文档 here .

关于android - 在谷歌地图中旋转的颗粒状标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16667234/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com