javaでbufferのreadで読み込んだ画像をwriteにコピーするようなプログラムを作りたいです。(この後からwriteにsetRGBでさらに色を変えたいので作っています。)
以下のようにコードを書いてみましたが、画像がAppletのサイズに応じて途中で切れてしまいます。Appletのサイズを大きくしようとresize()を使ってみたのですが今度はsetRGBの行にエラーが出ます。どうしたら治りますか?
public class Applet1_2 extends Applet{
BufferedImage read, write;
int width, height;
public void init(){ File file=new File("PictureT1.jpg"); try { read=ImageIO.read(file); width=getWidth(); height=getHeight(); write=new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB); for(int w=0; w<width; w++){ for(int h=0; h<height; h++){ write.setRGB(w, h, read.getRGB(w,h)); } } } catch (IOException e) { } } public void paint(Graphics g){ g.drawImage(write, 0, 0, this); }
}
エラー内容
java.lang.ArrayIndexOutOfBoundsException: Coordinate out of bounds!
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。