解説動画
画像ファイルから色を抽出&書きかえができる・・・ということは、画像を加工することができますね。
■動画はこちら
■Youtube版の解説で使用しているソースコード
 動画と一緒にこちらも参考にどうぞ。
1つめ – 画像ファイルから色を抽出する –
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | import java.awt.Color; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import javax.imageio.ImageIO; public class PixelColorTest {     public static void main(String[] args) {         try {             String filePath = "c:\\test\\test.png";             //画像ファイルを読み込む              BufferedImage img = ImageIO.read(new File(filePath));             //座標(380,106)の色を取得             Color color = new Color(img.getRGB(380, 106));             //取得した色を標準出力             System.out.println("R:" + color.getRed());             System.out.println("G:" + color.getGreen());             System.out.println("B:" + color.getBlue());             System.out.println("A:" + color.getAlpha());         } catch (IOException e) {             e.printStackTrace();         }     } } | 
2つめ – 画像ファイルから抽出した色をもとに、画像ファイルを生成 –
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | import java.awt.Color; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import javax.imageio.ImageIO; public class PixelColorTest2 {     public static void main(String[] args) {         try {             //画像ファイルを読み込む              BufferedImage imgOrg = ImageIO.read(new File("c:\\test\\test.png"));              //コピー先の画像ファイル用のイメージを用意する              BufferedImage imgNew = new BufferedImage(imgOrg.getWidth(),imgOrg.getHeight(), BufferedImage.TYPE_4BYTE_ABGR);              //ピクセル単位で新しいイメージに色をコピー             for(int y=0 ; y<imgOrg.getHeight() ; y++) {                 for(int x=0 ; x<imgOrg.getWidth() ; x++) {                     //座標(x,y)にあるピクセルの色を抽出(x=ヨコ y=タテ)                     Color color = new Color(imgOrg.getRGB(x, y));                     //ピクセルの色の成分                     int colorRed = color.getRed();        //赤                     int colorGreen = color.getGreen();    //緑                     int colorBlue = color.getBlue();    //青                     int colorAlpha = color.getAlpha();    //アルファ値                     //もとの色の成分をもとにカラーを再構築                     Color color2 = new Color(colorRed, colorGreen, colorBlue, colorAlpha);                     //コピー先の同一座標上にピクセルの色をセット                     imgNew.setRGB(x, y, color2.getRGB());                 }             }             //画像ファイルを出力             ImageIO.write(imgNew, "png", new File("c:\\test\\out.png"));         } catch (IOException e) {             e.printStackTrace();         }     } } | 
テスト用の画像(test.png)
 














