今からはじめるプログラミング32
前回はプログラムしないですいません。
NFTについては、だいぶ知られてきましたが、
なんというか、けっこうあらいアートでも数で圧倒みたいな?感じで、技術というよりもアイデアが価値を産んでるような感じがしますね。
くりぷとぱんくすとか。
だいたいランダムにアイコンをつくるようなプログラムをつくり、クリエイターと協力して、たくさんの画像をNFTとして登録しているんですかね?
というわけで、そんなプログラムのヒントになるような、Javaでランダムに画像を表示するプログラムを作ってみました。
実際にNFTを作る際には、ランダムに選択した画像を、合成して新しい画像にする、という感じのことをすれば、いいのかなぁなんて思っています。
RundomPic
-------------------------------------
package sample15;
import java.awt.Dimension;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
public class RundomPic extends JFrame{
public RundomPic () {
SimpleDateFormat sdf = new SimpleDateFormat("ss");
String formatedDate = sdf.format(new Date());
String img = "./img/"+ formatedDate.substring(1)+".png" ;
ImageIcon icon = new ImageIcon(img);
//ラベルにIconを設定
JLabel label = new JLabel(icon);
this.setSize(new Dimension(600,800));
this.getContentPane().add(label);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
public static void main(String[] args) {
// TODO Auto-generated method stub
new RundomPic();
}
}
-------------------------------------
準備として、"0.png"から"9.png"までの10種類の画像を"img"フォルダに用意して実行する必要があります。
また、みてわかると思いますが、Random関数は使用していません。
時間の中の”秒”を乱数にみたてて、プログラム実行時の秒と同じ名前の画像を表示しています。
昔の乱数の手法ですね。実際はミリビョウあたりを使用するのかな?
一番下に今回作成したパッケージをgoogleドライブにあげました。