1

私は Java でやるべき課題を持っていますが、一生これを理解することはできません。Graphics2D と Java.AWT を使用することになっています。x 軸と y 軸の両方で画像を鏡像化します。

現在のコードは次のとおりです。

import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Color;
public class DrawingImages
{
private Picture newCanvas = null;
private Graphics g = null;
private Graphics2D g2 = null;
private Picture pic1 = null;
private Picture pic2 = null;
private Color color = null;
private Pixel sourcePixel, targetPixel = null;
private Color sourceColor, targetColor = null;

DrawingImages(Picture canv, Color col)
{
    Picture sourcePicture = new Picture("WashingtonMonument.jpg");
    newCanvas = canv;
    newCanvas.setAllPixelsToAColor(Color.BLACK);
    for(int y = sourcePicture.getHeight()-1; y >0; y=y-1)
    {
        for(int x = sourcePicture.getWidth() - 1; x > 0; x = x - 1)
        {
            sourcePixel = sourcePicture.getPixel(x,y);
            sourceColor = sourcePixel.getColor();
            targetPixel = newCanvas.getPixel(x+sourcePicture.getWidth() -1,y+sourcePicture.getHeight()- 1);
            targetPixel.setColor(sourceColor);         
        }
    }


    g = newCanvas.getGraphics();
    g2 = (Graphics2D)g;  
}

}

4

1 に答える 1

2

絵は何に由来しますか?Image? Image.scale(-1, -1)その場合は、イメージを直接ミラーリングするために使用できます。

そうでない場合は、コンテキストでAffineTransform.getScaleInstance(-1, -1)直接使用できますが、画像の位置を変換する必要がありますGraphics

AffineTransform.rotate()を見ることもできます- どうすれば xlate、回転、およびスケーリングを同時に行うことができますか? このテクニックを使用する

于 2012-09-14T22:58:20.040 に答える