java - 如何做对称 - Graphics java

标签 java swing jpanel graphics2d

所以,我有这些代码行:

BufferedImage bufferedImage = new BufferedImage(100, 100, BufferedImage.TYPE_INT_ARGB);
    Graphics g = bufferedImage.getGraphics();
    g.setColor(Color.cyan);
    g.fillRect(0, 0, 10, 10);

(实际上,我在这张图像上绘制了不同的形状..)

但是如何使该图像(垂直)对称呢?有没有办法做到这一点?或者我必须编写整个代码...

提前谢谢

最佳答案

来自https://examples.javacodegeeks.com/desktop-java/awt/image/flipping-a-buffered-image/

// Flip the image vertically
AffineTransform tx = AffineTransform.getScaleInstance(1, -1);
tx.translate(0, -image.getHeight(null));
AffineTransformOp op = new AffineTransformOp(tx, AffineTransformOp.TYPE_NEAREST_NEIGHBOR);
image = op.filter(image, null);


// Flip the image horizontally
tx = AffineTransform.getScaleInstance(-1, 1);
tx.translate(-image.getWidth(null), 0);
op = new AffineTransformOp(tx, AffineTransformOp.TYPE_NEAREST_NEIGHBOR);
image = op.filter(image, null);

// Flip the image vertically and horizontally; equivalent to rotating the image 180 degrees
tx = AffineTransform.getScaleInstance(-1, -1);
tx.translate(-image.getWidth(null), -image.getHeight(null));
op = new AffineTransformOp(tx, AffineTransformOp.TYPE_NEAREST_NEIGHBOR);
image = op.filter(image, null);

关于java - 如何做对称 - Graphics java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44541295/

相关文章:

java - Android - 设置 TileMode 和 Gravity

java - 从 JFrame 调整 JPanel 的大小

java - 在 GridBagLayout 中正确删除元素

Java 在 JPanel 类之外绘制图像

java - 出于 Character.isWhitespace 的目的,Java 是否将 'normal' 空间视为空白?

java - 当另一个线程终止时终止 Thread.Sleep() ?

java - 获取JAVA中已编译类的方法和属性

java - 如何更新 JScrollPane 内 JTextArea 的文本?

java - Swing 中的动画

Java Swing GUI 控制台组件