• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Java2Dを利用した、鉄格子の画像の作成方法)

Java2Dで鉄格子の画像を作成する方法

このQ&Aのポイント
  • 歴史ものの小説を読んで、鉄格子のなかから風景を見る画像を作成する方法を知りたい。
  • Javaを利用して、画像のピクセル単位で鉄格子を描画する処理を行いたい。
  • 初学者なので、具体的なコードのお手本や解説を教えて欲しい。

質問者が選んだベストアンサー

  • ベストアンサー
  • PecoPlus
  • ベストアンサー率76% (144/188)
回答No.1

 こんにちは。  サンプルとしては、こんな感じでしょうか。 java DrawLine c:\test.jpg  みたいな感じで使います。 (コンパイルするときは全角スペースを半角スペースに置換してからにしてください) public class DrawLine {   public static void main(String[] args) {     if (args.length < 1)       System.exit(1);     try {       File file = new File(args[0]);       BufferedImage image = ImageIO.read(file);       drawImage(image);       ImageIO.write(image, "jpeg", new File(file.getParent(), "new.jpg"));     } catch (IOException ex){       System.out.println("画像ファイルのアクセスに失敗しました。");       System.exit(1);     }   }   static BufferedImage drawImage(BufferedImage image) {     Graphics2D g = image.createGraphics();     g.setColor(Color.BLACK);     int height = image.getHeight();     int width = image.getWidth();     for (int x = 30; x < width; x += 40) {       g.fillRect(x, 0, 10, height);     }     g.dispose();     return image;   } }

spinia0120
質問者

お礼

ご丁寧な回答ありがとうございます。 大変参考にさせていただきました。最下部を編集することでいろいろ応用が効きそうですね。 頑張って理解したいと思います。ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 画像のランダム表示でサイズを指定する方法

    ヘッダー画像を、下記のコードでランダム表示しています。 横2000px縦1000pxの画像を、横1000px縦500pxで表示したい場合、どのようにすればよいでしょうか? <script language="JavaScript"> var imglist = new Array( "A.jpg" , "B.jpg" , "C.jpg" , "D.jpg" , "E.jpg" ); var selectnum = Math.floor((Math.random() * 100)) % imglist.length; var output = "<img src=" + imglist[selectnum] + ">"; document.write(output); </script> <noscript> <img src="A.jpg" alt="A.jpg" width="1000px" height="500px" border="0" /> </noscript> 上記コードの参照元:http://allabout.co.jp/gm/gc/23805/2/

  • 画像に影をつける方法について

    ・・・・・・・・・・・・             この写真は○○です。    画像        ・・・・・・・・・・・・  ↑ 上記のようなレイアウトになっている「画像部分」に影を付けたくて、あるサイトで見つけた下記の文字を加えてました。 <div style="width: 100%; padding-bottom: 10px; filter: shadow(color=#4d4d4d, direction=135);"> <img src= "http://*******" align="left"> この写真は○○です。</div> 画像部分に影が付くようにはなったんですが、画像横の文字「この写真は○○です。」まで影付きになってしまいました。 画像部分だけに影を付けるには、どうしたらよいのでしょうか。教えてください。

    • ベストアンサー
    • HTML
  • エクセル、計算シート作成方法

    勉強不足で申し訳ないのですが 償却シートを作成したく、下記画像をたとえとして ①D8、D9の対象期間内であれば自動でセル色付けをする方法 ②D8、D9の対象期間内であればC17以降に償却額が計算される関数をご教示頂きたいです。 条件書式、VBA等諸々検索してみたりしたのですがわからず ご教示いただければ幸甚です。 (長前となっておりますが実際は異なる償却シートのため、表題等はスルーしてください)

  • ロールオーバーで画像がずれない方法

    初めてWebサイトを作成しており、今はグローバルナビゲーションを作成していますが、ロールオーバーしたときに、位置が微妙にずれてしまいます。 ちなみに画像の作成は、フォトショップCS6で次のように作成しました。 (1)カンバスサイズを、幅800px、縦60pxで作成 (2)長方形ツールを使い、境界線ありの画像を5つ作成し、手動で横に整列させる。 ※一つ当たりのサイズは幅160px、縦30pxなので、全体の幅は800、縦30です。 (3)ロールオーバー用の画像のために、上記5つのボタンを複製し、色を変える (4)通常表示用とロールオーバー用の画像を、手動で上下に連結させる ※これで幅800px、縦60pxになったので、カンバスサイズと同じサイズになりました。 (5)手動にて連結した画像をカンバスサイズの位置に合わせる (6)テキストツールで会社概要など5つ作成し、上5つの画像の中心に合わせる (7)上5つにある会社概要などの文字を一括コピーする。 (8)一括コピーした文字を、手動で下5つの画像の中心へ合わせる ※大変でしたが、グリッド機能を使って、調整しました。 以上のような流れで全体のグローバルナビゲーションのボタンを作成し、そして次の用にHTMLとCSSを入力したのですが、ロールオーバーした時に、ボタンも文字も微妙にすれてしまいます。 フォトショップの使い方が悪いのか、HTMLとCSSの使い方が悪いのか、どちらなのかわかりません。 いろいろな方からご教示を頂きたいです。本当にお願い致します!! <!-- /以下HTML --> <ul id="globalnavi"> <li id="menu1"><a href="#"></a></li> <li id="menu2"><a href="#"></a></li> <li id="menu3"><a href="#"></a></li> <li id="menu4"><a href="#"></a></li> <li id="menu5"><a href="#"></a></li> </ul> <!-- /以下CSS --> #globalnavi { margin: 0; padding: 0; } #globalnavi li { width: 160px; height: 30px; float:left; text-align: center; line-height: 3.5; margin:0; padding-left:0; } #globalnavi a { float:left; display: block; text-decoration: none; width: 160px; height: 30px; background-image: url(./img/menu-all.gif); background-repeat: no-repeat; margin:0; padding-left:0; } #menu1 a { background-position: 0px 0px; } #menu2 a { background-position: -160px 0px; } #menu3 a { background-position: -320px 0px; } #menu4 a { background-position: -480px 0px; } #menu5 a { background-position: -640px 0px; } #globalnavi a:hover { text-decoration: none; background-image: url(./img/menu-all.gif); background-repeat: no-repeat; margin:0; padding-left:0; } #menu1 a:hover { background-position: 0px -30px; } #menu2 a:hover { background-position: -160px -30px; } #menu3 a:hover { background-position: -320px -30px; } #menu4 a:hover{ background-position: -480px -30px; } #menu5 a:hover{ background-position: -640px -30px; }

    • ベストアンサー
    • CSS
  • JAVAを用いた画像処理

    JAVAを用いて、画像を入力しその画像を2値化し出力を行うプログラムを作成したいのですが、どうやらJAVAには、画像を格納するクラス(構造体?)がBufferedImageやImage、Colorなどがあり、その違いがよくわからず困惑しております。 どのような流れで2値化処理を行うのが最も一般的なのでしょうか? また、JAVAを用いた画像処理について勉強できるわかりやすいサイトや本などがあったら教えてほしいです。 回答よろしくお願いします。

    • ベストアンサー
    • Java
  • 画像をフォトショップで指定サイズJPEGにする方法

    画像リサイズについて教えてください。(期日があり、少々急いでおります) 商品情報を会員ログインWEBより登録するよう依頼されているのですが、 以下のような指定があり、条件通りにリサイズできなくて困っています。 1.容量:500KB以上1.5MB以内 2.解像度:原寸で350dpi 3.ファイル形式:JPEG 4.ファイルサイズ:横600px×縦400px 5.保存形式:CMYK 当方の現在の状態 1.元の画像はデジカメで撮影したもので4000px×3000px 2.使用できる画像編集ソフトはフォトショップエレメンツ7.0またはフォトショップ5.5です。 3.サイズ通り(または等倍)のトリミングはフォトショップで自身で加工できます。 ↓ フォトショップで 画像解像度を350dpi サイズ600px×400pxに置き換えると950KBくらいになります。 その後、 JPEGで保存すると180KBくらいまで落ちてしまい、それをアップロードしようとすると「サイズが小さすぎるので画像のリサイズを見直してください」とエラーで弾かれてしまいます。 (指定サイズが500KB以上のためです) サイズや解像度が指定されている状態ですので、その通りにするのですが、 JPEG保存すると容量が低下します。(圧縮されるので当然だと思いますが) フォトショップ不得手なのでこのやり方しか思いつきませんでした。 それでできないのだからやり方が間違っているんでしょうね。。。 何か良い方法、ズバリやり方 お待ちしております! よろしくお願いします。

  • 画像の表示について

    HTML,CSS,JAVAなどで、一つの画像をアップしたいのですが、サイズが横100px以上は100pxで表示させて、 100px未満のサイズはそのまま表示させるという 処理はどうしたらよろしいでしょうか? どの種類かだけでも結構ですので、宜しくお願いいたします。

  • 画像転送方法と画像回覧方法の、アドバイスをお願いします

    団体旅行(2週間)で撮影(5GB)後、画像をパソコンに転送し処理(ゴミの除去)完了後、再度、CFカードに転送・・と考えていましたがカメラ(キャノンEOS-5D)の仕様上、[ZoomBrowser EX/CameraWindow]を使用して、パソコンからカメラ内のCFカードに画像データを書き出す事が出来ないようになっていました。当方の予定では、 (1)CFカード→パソコンにデーター転送・・・済。 (2)画像修正後→CFカードへデーター転送・・×。 (3)カメラからTVに画像上映し注文を取る (4)ショップに注文・・の予定でしたが思わぬところでつまずきました・・。 DVD-Rに取り込んで画像上映が出来たら良いのですが、機材(プレーヤー)がありませんので苦慮しています。 素人ながら考えた策でしたが、何か上手い手段がございましたらご教示の程、宜しくお願いします。

  • BMP画像のネガを作成するプログラム

    BMP画像をnegative colorにするプログラムの手本を見ていて、どういう仕組でネガが作成されるのか疑問に思いました。 以下のプログラムがそれです。 -------------------------------------------------- for(i=0; i<NVERT; i++){ //縦方向のループ for(j=0; j<NHORI; j++){ //横方向のループ ich1=i*NHORI+j; //処理する点(?)をich1に格納 for(k=0; k<3; k++){ //GBRを順番に反転させるためのループ(?) buf[ich1][k]=255-buf[ich1][k]; //反転 } } } -------------------------------------------------- まだあまり理解できていないのですが、 buf[][0]には赤、buf[][1]には緑、buf[][2]には青 が与えられている気がします。 buf[ich1][k]=255-buf[ich1][k]; この式で、255から引くことによってどうして反転するのか具体的に知りたいです。 どなたかよろしくお願いしますm(__)m

  • IE5*でもCSSで画像を横に並べる方法を・・・

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <?xml version="1.0" encoding="Shift_JIS" ?> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja"> <head><style type="text/css"> <!-- .box_a{ } .box_b{ } .box_c{ float:left; width:80px; background-color:#c8ffdb; } .box_d{ float:left; width:10px; background-color:#c8ffdb; } --> </style> </head> <body> <div class="box_b"><a href=""><img src="" class="box_c" /><img src="" class="box_d" /></a></div> <div class="box_b"><a href=""><img src="" class="box_c" /><img src="" class="box_d" /></a></div> <div class="box_b"><a href=""><img src="" class="box_c" /><img src="" class="box_d" /></a></div> </body> </html> 上記のコードをブラウザで見るとIE6では隙間なく並んでいるのですが、IE5.01,IE5.5で見ると画像の間に隙間が空いてしまっています。 IE5*でもCSSで画像を横に並べる方法をご存じの方、教えてください。 お願いします (_ _)人。