Java 将图像旋转移植到android

Java 将图像旋转移植到android,java,android,canvas,porting,affinetransform,Java,Android,Canvas,Porting,Affinetransform,我想用Android编写一个小游戏,因为我有很好的Java经验,所以我首先用Java编写了它。现在我想移植游戏,但不幸的是Android库不支持“仿射转换”或“图形2D”。 我知道旋转可以通过使用canvas来完成,但是我还没有显示图像。 我遇到的问题是,从未调用onDraw方法。下面是我在Java中使用的示例代码,我想将其移植到Android public void drawEdge(Edge edge, Graphics g){ .... computation Stuff Graphics

我想用Android编写一个小游戏,因为我有很好的Java经验,所以我首先用Java编写了它。现在我想移植游戏,但不幸的是Android库不支持“仿射转换”或“图形2D”。 我知道旋转可以通过使用canvas来完成,但是我还没有显示图像。 我遇到的问题是,从未调用onDraw方法。下面是我在Java中使用的示例代码,我想将其移植到Android

public void drawEdge(Edge edge, Graphics g){
.... computation Stuff
Graphics2D g2d = (Graphics2D) g;
AffineTransform att = new AffineTransform();
att.translate(posX,posY);
att.rotate(rotAngle);
g2d.drawImage(lineImage, att, null);
}
所以在安卓系统中,我尝试了以下方法:

public void drawEdge(Edge edge, Graphics g){
.... computation Stuff
Paint mPaint = new Paint();
canvas.drawLine(200, 200, 400, 400, mPaint); // Just a simple line not the edge yet
}
但这是行不通的。我还尝试创建onDraw方法,但它似乎从未被调用。此外,我无法将limeImage作为位图加载。我用过:

Assets.lineBitmap = BitmapFactory.decodeFile("LineImage.png");
并获取massege:无法解码流:java.io.FileNotFoundException。但使用:

Assets.lineImage = g.newImage("Line_height6.png", ImageFormat.RGB565);
很好用

我知道有很多教程都在考虑canvas的使用,但我仍然无法找出代码的错误,所以如果有人能给我任何线索,我将非常感激


最好的Sergej

好吧,我在上面的代码中画出了一条线,问题是我发现itmap文件不是不安全的:用

    FileIO fileIO = game.getFileIO();
    InputStream in = null;
    Bitmap bitmap;
    try {
        in = fileIO.readAsset("Line_height6.png");
        bitmap = BitmapFactory.decodeStream(in);
        } 
    catch(IOException e) {
        throw new RuntimeException("Couldn't load texture '" + "Line_height6.png", e);}
所以我现在要做的是使用游戏开始时创建的画布。那我就可以划清界限了。到现在为止,一直都还不错。但是如果我想旋转位图,那么背景也会旋转。我尝试的解决方案是使用位图创建一个新画布:

Bitmap bmp = lineBitmap;
Bitmap mutableBitmap = bmp.copy(Bitmap.Config.ARGB_8888, true);
Canvas newcanvas = new Canvas(mutableBitmap);
newcanvas.rotate((float) theta);
newcanvas.drawBitmap(mutableBitmap, matrix, paint2); 
但是我现在没有看到新的图片或者一个错误。背景在那里,还有我在原始画布上绘制的一些其他图像,但我无法显示位图。 有什么建议吗