作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试图对“好”这个词做一个简单的反射(reflect):因此,我使用 g2d.scale(1,-1)
按 y 轴缩放文本,但什么也没有。
我正在使用这个简单的代码:
@SuppressWarnings("serial")
public class C extends JPanel{
JFrame frame = new JFrame();
public C(){
frame.setSize(500,500);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.add(this);
frame.setVisible(true);
}
public void paintComponent(Graphics g){
Graphics2D gr = (Graphics2D)g ;
gr.setColor(Color.BLACK);
gr.fillRect(0, 0,250, 250);
gr.setColor(Color.YELLOW);
gr.drawString("good",50,50);
gr.scale(1,-1);
gr.drawString("good",50,50);
}
public static void main(String[] args){
new C();
}
当我缩放值>0(例如+2)时,缩放效果完美。
最佳答案
坐标系因比例负值而改变,因此在 y = 50 处绘制实际上是在 y = -50 处绘制。你可以
gr.translate(0,-100)
无论哪种方式,请考虑不更改图形转换,而是使用外部转换并随后重置图形转换
AffineTransform previous = gr.getTransform();
AffineTransform newTransform = new AffineTransform(previous);
newTransform.scale(0,-1);
gr.setTransform(newTransform);
gr.setTransform(previous);
关于java - java 中的比例尺不适用于 (-1,1) 或 (1,-1),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30652089/
我是一名优秀的程序员,十分优秀!