- ベストアンサー
Javaでペイントソフトを作りたい
Javaを最近学んでいるんですが… eclipseというものを使っています。 そこでYoutubeをやっているので YoutubeとかTwitterとかのヘッダー画像、サムネイルを作成するソフトウェアを作りたいです サイズのあった画像を作成し、それをペイントツールみたいに描けるツールが作りたいです しかし、Javaがあんまりわからず どう作れば良いのか検討もわかりません… なかなか暇もなく… 自分で作ってみたいです。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
絵を描くならこんな感じ import java.awt.Color; import java.awt.Graphics2D; import java.awt.image.BufferedImage; import java.io.File; import javax.imageio.ImageIO; import java.lang.Math; public class Test10 { public static void main(String[] args) { int r = (args.length > 0)? Integer.parseInt(args[0]):100; int n = (args.length > 1)? Integer.parseInt(args[1]):16; int x, y, x1, y1; try { BufferedImage image=new BufferedImage(r*2+10,r*2+10,BufferedImage.TYPE_INT_RGB); Graphics2D g2d=image.createGraphics(); g2d.setBackground(Color.WHITE); g2d.clearRect(0,0,r*2+10,r*2+10); g2d.setColor(Color.BLACK); x1 = r; y1 = 0; for( int i = 1; i <= n; i++ ) { x = (int) Math.round( ( r * Math.cos( i * 360.0 * Math.PI / 180.0 / n ) ) ); y = (int) Math.round( ( r * Math.sin( i * 360.0 * Math.PI / 180.0 / n ) ) ); System.out.println("x=" + x + "y=" + y); g2d.drawLine( x1 + r + 5, y1 * (-1) + r + 5, x + r + 5, y * (-1) + r + 5 ); x1 = x; y1 = y; } ImageIO.write(image, "JPEG", new File("c:\\test10.jpg")); } catch(Exception e) { e.printStackTrace(); } } }
その他の回答 (3)
- maiko0333
- ベストアンサー率19% (839/4401)
これ、半径100で16角形を書いています。 java Test 200 5 にすると半径200、5角形になりますよ。
お礼
すごいです!! ありがとうございます!!
- maiko0333
- ベストアンサー率19% (839/4401)
>ImageIO.write(image, "JPEG", new File("c:\\test10.jpg")); ImageIO.write(image, "JPEG", new File("c:\\どこかのディレクトリー\\test10.jpg")); c:の直下にはおけないことがあります。 どこかのディレクトリーにおいてください。
お礼
おお!?なんかすごそうな丸がかけました! ありがとうございます!
補足
無事出来ました… これをどう応用すればいいかまだ、わかりませんが がんばります!!
- maiko0333
- ベストアンサー率19% (839/4401)
>public class Test10 { としているので、Test10.javaというファイル名で作らないといけないです。 Test.java にするなら public class Test { にすればよいです。
お礼
ありがとうございます!!!
補足
まいどすいません… x=92y=38 x=71y=71 x=38y=92 x=0y=100 x=-38y=92 x=-71y=71 x=-92y=38 x=-100y=0 x=-92y=-38 x=-71y=-71 x=-38y=-92 x=0y=-100 x=38y=-92 x=71y=-71 x=92y=-38 x=100y=0 java.io.FileNotFoundException: c:\test10.jpg (アクセスが拒否されました。) at java.io.RandomAccessFile.open0(Native Method) at java.io.RandomAccessFile.open(RandomAccessFile.java:316) at java.io.RandomAccessFile.<init>(RandomAccessFile.java:243) at javax.imageio.stream.FileImageOutputStream.<init>(FileImageOutputStream.java:69) at com.sun.imageio.spi.FileImageOutputStreamSpi.createOutputStreamInstance(FileImageOutputStreamSpi.java:55) at javax.imageio.ImageIO.createImageOutputStream(ImageIO.java:419) at javax.imageio.ImageIO.write(ImageIO.java:1530) at Test10.main(Test10.java:39) java.lang.NullPointerException at javax.imageio.ImageIO.write(ImageIO.java:1538) at Test10.main(Test10.java:39) こんなエラーが…
お礼
わざわざありがとうございます…
補足
エラー: メイン・クラスtest.javaが見つからなかったかロードできませんでした とでてしまいます… どうすればいいんですか…Eclipseをつかってやるんですか? すいません、いろいろきいて… 初心者ですいません