当前位置: 首页 > 知识库问答 >
问题:

如何使用AffineTransform的翻译?

司徒隐水
2023-03-14

我不是在问AffineTransform是如何工作的,而是如何使用它的翻译方法。

我多次阅读API,但仍然不明白它是如何工作的。

公共空转换(双tx,双ty)

将此转换与翻译转换连接起来。这相当于调用concatenate(T),其中T是由以下矩阵表示的AffineTransform:

      [   1    0    tx  ]
      [   0    1    ty  ]
      [   0    0    1   ]

问题:

共有1个答案

孟振
2023-03-14

AffineTransform.Translate(100,0)以某种方式将图像向右移动+100像素,向下移动+100像素。为什么会这样?

一般来说,是的,它应该将绘图偏移量移动到100x和0y,这意味着graphics上下文的0x0位置现在将从原始graphics上下文的原点开始为100x0

请记住,翻译是累加的,这意味着如果您以前以某种方式翻译了图形上下文,现在将添加到它(第一次翻译0x100,第二次翻译100x0,您现在是100x100,从最初的graphics上下文原点...

如果我经常需要移动我的图像,我是否使用translate()来移动我的图像?如果没有,建议什么方法/方式来移动我的旋转/旋转的图像在一个框架

通常,我使用graphics#create创建graphics上下文的副本(这会复制当前状态/属性,但仍会将输出生成回graphics上下文的原始输出),对副本应用转换,绘制我想要的任何内容,然后dispose副本。这使得原始上下文保持不变(关于我已经更改的属性)

这意味着您可以独立地执行多个翻译,这不会影响以后执行的其他翻译。

另一种方法是反向转换,但坦率地说,在副本上调用dispose更简单。

 类似资料:
  • 问题内容: 我上课了。在这个类中,我有一个类型的变量。更重要的是,我有WorldMap重写功能的类: 函数看起来像这样: 它只需要1)旋转飞机(飞机对象内部的BufferedImage)2)画他。 我的Airplane.rotateAirplane()函数如下所示: 我运行我的程序时,ofc仅绘制对象。当我删除此车道时 我也有我的飞机,但是没有旋转。 问题答案: 主要的问题(我可以看到)是上下文的

  • 我使用thymeleaf生成一个包含一些javascript的页面。js是用thymeleaf生成的,目的是将java模型的某些部分放到我的页面中。 我知道如何使用thymeleaf将一些翻译成html。 但是现在我想把一些thymeleaf翻译成我生成的js,以便集中我的翻译工作。 理想情况下,我希望有一个变量,该变量将包含我翻译的所有消息。这个变量将在genrated js脚本中初始化。 有关

  • 问题内容: 我正在制作一个用于语言实时翻译的android应用…我使用了识别器意图从用户那里获取语音输入,然后它给出了用户所说的选项列表。现在我想使用google将其翻译为另一种语言翻译api,但我不知道如何使用它。到目前为止,我所做的代码是。此外,如果您能告诉我如何做到这一点,而不是给我我所说的内容的选择,它会自行选择一个,然后在此上使用google translation api…。 问题答案

  • 问题内容: 进行UIImage翻转的解决方案是使用Objective-C代码: 但是,imageWithCGImage在Swift中不可用!是否有使用Swift水平翻转图像的解决方案?谢谢! 问题答案: 大多数工厂方法会迅速转换为初始化程序。只要有可用,即使class方法仍然可用,它们也是首选。您可以使用: 用法如下所示:

  • 问题内容: 我在Android中使用Retrofit来发送请求并接收响应,但是当我想要转换来自服务器的响应时总是遇到问题: 当服务器的响应应该给我电影列表时,我需要将所有这些电影都放在列表中。 (型号类别): 类: 组态: UserDeserializer: 杰森(回应): 问题答案: 您甚至不需要在此处制作自定义解串器。 完全摆脱它,这是不需要的。您的查询返回的是电影列表,因此请对实际读取电影列

  • 问题内容: 如何使用CSS翻转任何背景图片?可能吗? currenty我使用这个箭头图像中background-image的liCSS中 开启:visited我需要水平翻转此箭头。我可以这样做来制作另一个箭头图像,但我只是好奇地知道是否有可能在CSS中翻转图像:visited 问题答案: 在看到Alex的答案出现翻转的线索后,我发现只翻转背景而不是整个元素的方法。谢谢亚历克斯的回答 HTML CS