Codenameone中图形的变换方法class

Transform Method of graphics class in Codenameone

我无法在 CodenameOne 中找到图形转换方法 class 的替代方法。我曾尝试使用 Graphics setTransform 方法,但无法获得所需的功能。你能帮忙解决这个问题吗?谢谢

AffineTransform saveAT = g2d.getTransform();
g2d.transform(getmyTranslation());      
g2d.transform(getmyRotation());         
g2d.fillRect((int)(0-getSize()/2), (int)(0-getSize()/2), getSize(), getSize());         
for (Object f : obj)
{
   f.draw(g2d);
}       
g2d.setTransform(saveAT);

CodenameOne

中没有g2d.transform

仿射变换直接内置到图形中,因此您根本不需要前几行:

AffineTransform saveAT = g2d.getTransform();
g2d.transform(getmyTranslation());      
g2d.transform(getmyRotation());         

你可以这样做:

g2d.rotate(degrees, pivotX, pivotY);

填充矩形应该几乎相同:

g2d.fillRect((int)(0-getSize()/2), (int)(0-getSize()/2), getSize(), getSize());         

Draw 也应该适用于 Shape 个对象:

for (Object f : feet)
{
   f.draw(g2d);
}       

没有必要像这样恢复仿射:

g2d.setTransform(saveAT);

只需这样做:

g2d.resetAffine();