• 締切済み

画像をランダムに並べて,画像を作る方法

ある画像1をランダムに配置して、適当なサイズの画像2にするといったことをしたいです。 画像1を配置する際には重なりを許します。 画像1をランダムに並べるやりかたは分かるのですが 作成したい画像2で 「まだ空白の(貼り付けられていない)箇所がある」 という判定をどのようにすれば良いか分かりません。 ちょっと分かりづらいかもしれませんが、 分かる方、お教えください。

みんなの回答

  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.3

画像2の画素数と同じ大きさの配列を用意 二次元配列だと確保(と解放)が面倒だけど処理は楽。一次元だと逆 配列は0なり適当な値で埋めておく。 画像1を配置したら、配列のそれに対応した範囲を1なり上とは別の値なりにする。 配列の最初の値のままの箇所が、空白の箇所。 画像1に絶対含まれていない色があるなら、画像2を最初その色で埋めておいて、その色を探す。

全文を見る
すると、全ての回答が全文表示されます。
  • titokani
  • ベストアンサー率19% (341/1726)
回答No.2

環境はなんでしょうか? Windowsなら、リージョンを使うと楽に書けそうです。(スピードはともかく)

全文を見る
すると、全ての回答が全文表示されます。
  • titokani
  • ベストアンサー率19% (341/1726)
回答No.1

環境はなんでしょうか? Windowsなら、リージョンを使うと楽に書けそうです。(スピードはともかく)

hirubanasa
質問者

補足

ご回答ありがとうございます。 環境はwindowsでvisual C++ Express 2008です。

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

関連するQ&A

  • 複数の画像をフェードイン・アウトでランダム表示したい。 出来れば、画像がカブらない様にしたい。

    始めまして、初歩的な質問で申し訳ないのですが、よろしくお願いします。 『9枚の画像(サイズはすべて同じ)を4箇所(2×2)でフェードイン・フェードアウト、する様な形で表示させたい。』 (1) 複数の画像をランダムで表示させる事は以下のリンク等で確認出来ました。 http://logue.apricotte.net/2006/04/03-192500.php (2) フェードイン・アウトは=<a http://iswebmag.hp.infoseek.co.jp/142/sample02.htmlこちらを参考に出来ました。 ※1箇所のみで出来ました! 2箇所以上だと、ダメです。 (1)だけだとフェード効果を得られません。 (2)は1箇所配置だけど動作しますが2箇所以上に配置だと動作しません。 (3)出来れば(1)のように画像を配置したい箇所に記述出来るソースがあれば幸いです。 以上、聞き苦しい点があると思いますが、よろしくお願いします。

  • 画像をランダムにスクリプト

    ホームページをHTMLで作成しております。画像をランダムにスクリプトしてますが、画像のサイズが大きすぎるので、HTMLでサイズ変更する場合の、HTMLをご教授ください。 width="300" height="200"を挿入でいいのでしょうか。 その場合の挿入箇所をお教えください。 現在、下記のHTMLを作成しております。 <script language="JavaScript"> <!-- var image=new Array (); image[0]="s/b/bike1.jpg" ; image[1]="s/h/hatake207.jpg"; var rnd=Math.floor(Math.random()*image.length); document.write(" <img src=' "+image[ rnd ]+ " '> "); //--> </script> 宜しくお願いします。

  • 任意のフォルダ内の画像をランダムに呼び出し、ランダムに配置するには?

    任意のフォルダ内の画像をランダムに呼び出し、ランダムに配置するには? よろしくお願い致します。 jQueryを使用して、複数の画像をランダムに配置する(読み込むごとに)というページを作成しております。 この場合、予め配置した画像の表示順番をランダムに変えるだけなので、任意のフォルダに数十枚の画像を入れておき、そこからランダムに数枚の画像を呼び出し、かつランダムに表示順番を変えることはできないものでしょうか。 例:images というフォルダに50枚の画像を入れておき、その中から10枚の画像をランダムに呼び出し、かつランダムに配置する。 いろいろ調べてみたのですが、知識が足りず理解出来なかったため質問させて頂きました。 お詳しい方がいらっしゃいましたら、どうかご教授頂けると幸いです。 ■現在のコードです。 <html> <head> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript"> function shuffle(list) { var i = list.length; while (i) { var j = Math.floor(Math.random()*i); var t = list[--i]; list[i] = list[j]; list[j] = t; } return list; } $(function() { $('#sbox').append(shuffle($('.hogehoge', '#box'))); }); </script> </head> <body> <div id="box"> <div class="hogehoge"><img src="1.jpg"></div> <div class="hogehoge"><img src="2.jpg"></div> <div class="hogehoge"><img src="3.jpg"></div> <div class="hogehoge"><img src="4.jpg"></div> <div class="hogehoge"><img src="5.jpg"></div> </div> </body> </html>

  • ランダムな画像と表示回数

    こんにちは。 以下のような仕組みのFlashを作成したいと思っています。 1.30枚の画像があります 2.文章が10個あります まず上記2の文章を、各7秒ぐらいで次の文章へ切り替えたいと思っています。 この文章の表示順は固定です。 このflash自体は7秒×10個で、合計70秒となります。 次に、文章をそれぞれ表示させる際に、バックに上記1の30枚のうちいずれかの画像を表示させたいと思っています。 但しこの画像の表示順はランダムで、尚且つ一度表示した画像は表示されないようにしたいです。 つまり、文章が10個なので、画像は30個の中から10枚を毎回ランダムで表示させるといった感じです。 文章自体は画像の上に配置します。 文章が7秒で切り替わる際、画像も同時に次の画像へと切り替わります。 最後に文章の10個目が表示された時(スタートから70秒後ぐらい)に、その10個目の文章とその時の画像(ランダム)でムービーはストップさせたいです。 これらの動作を実現したいのですが、アクションスクリプトが殆ど初心者なので悩んでいます。 もし宜しければサンプルコードなど、ご教示頂けますと幸いです。 宜しくお願いいたします。

  • イラストレーターでWEBデザインするときの画像の配置方法

    イラストレーターでWEBデザインをする際の画像配置方法について教えていただきたいです。 普段、イラストレーターでWEBサイトのデザインを行っています。 写真などをレイアウトするとき、 (1) Photoshopで実際に使用するサイズ、画像解像度72でjpg画像作成 ↓ イラレで配置 とするのと、 (2) 使用する画像をそのままイラレに配置 ↓ イラレ上でサイズ調整(縮小など) とするのと、どちらが正しいのでしょうか? 両方行ったところ、最後にスライスで書き出した際に(2)の方法で配置した画像の方がきれいな画像になりました。 DTPデザインの場合、画像配置するときは必ず実寸サイズ、印刷用解像度で画像をあらかじめ作成したものを配置するのが基本だと思います。 WEBデザインの場合はやはりちがうのでしょうか? (1)、(2)の方法はどちらが正しいのか?もしどちらも間違っているなら、正しい方法を、特に決まりがない、という場合は、皆さんはどのようにされているのか、教えていただけないでしょうか? よろしくお願いいたします。

  • ランダムに画像を複数箇所表示させたい

    ランダムに画像の表示を2カ所行いたいのですが どのようにスクリプト文を書けばいいのでしょうか rootに01.js 02.js 03.html [aaa]フォルダに aaa01.jpg aaa02.jpg [bbb]フォルダに bbb01.jpg bbb02.jpg というファイル配置と仮定して 03のファイルに同時に aaa01とaaa02のどちらかをランダム bbb01とbbb02のどちらかをランダムに表示させたいのですがうまくいきません。 どなたか01.js 02.js 03htmlの書き方のアドバイスをお願いできないでしょうか?よろしくお願いいたします。

  • 画像をランダムに表示させマウスを重ねるとさらに切り替わる方法

    今HPを作成しているんですが、題名の方法が知りたいです。 JavaScriptを使って画像をランダムに表示させる方法ありますよね。 <script language="javascript"> <!-- //ランダムに画像を表示 img = new Array(); img[0] = "画像1"; img[1] = "画像2"; img[2] = "画像3"; n = Math.floor(Math.random()*img.length); document.write("<img src='"+img[n]+"' border='0'>"); //--> </SCRIPT> それとマウスを重ねると画像が変わる onmouseover="this.src='画像4'" onmouseout="this.src='画像5'" というタグありますよね。 2つのタグを組み合わせてランダムに表示された画像に マウスを重ねると画像がかわるということがやりたいのですが JavaScriptの知識があまりないためわかりません。 この方法は可能でしょうか? もしくは他の方法あるでしょうか? ランダムに表示される画像は3枚と仮定し、 それぞれ3枚の画像はマウスを重ねるごとに 違う画像を表示させたいと思っています。 解決法をわかるかたがいらっしゃったら よろしくお願い致します。

    • ベストアンサー
    • HTML
  • ランダムで画像を表示させるには?

    環境はFlashCS5で、アクションスクリプト3.0を使用しています。 5枚の画像(インスタンス名:mc0~mc4)をランダムで表示させるムービーを制作しているのですが、 下記のスクリプトですと、ランダムで画像が表示されるのですが、画像の切り替えがループになってしまって、次から次へとランダムで画像が切り替わります。フレーム1に下記のスクリプトを記述し、フレーム1にムービーインスタンス「mc0」から「mc4」を配置しています。 function randomShowMC():void { for (var i:int=0; i<5; i++) { this["mc" + i].visible = false; } var rnd:int = Math.floor(Math.random() * 5); this["mc" + rnd].visible = true; } randomShowMC(); var myTimer:Timer = new Timer(3000); myTimer.addEventListener(TimerEvent.TIMER ,function(){randomShowMC()}); myTimer.start(); このスクリプトを改良?改造?して、ランダムの画像が1回のみ…つまり、おみくじみたいに、(mc0~mc4の画像を)ランダムで1回のみ画像を表示させたいのです…表示後の画像が切り替わらずそのままで停止させたいのです。 又は、ムービーインスタンス「mc0」から「mc4」の画像をランダムで表示させ、最初に表示された、その画像で停止させるスクリプトを新規に記述しても構いませんので、ご指導・アドバイスをお願い致します…。 どなたか、解る方がいましたらランダム画像表示で1回表示のみのループしないスクリプトを教えてください。よろしくお願い致します…。

    • ベストアンサー
    • Flash
  • Flash Lite1.1のランダム画像に時計を付けたい

    はじめまして。 今、Flashの勉強を自宅で独学している初心者です。 携帯Flashの作成をしているのですが、 ランダムで取得した画像にデジタル時計を付けたんです。 取得する画像をレイヤー内に幾つか用意し 画面遷移を防ぐためにstopを使っているので、 初期画面内に配置しているデジタル時計が同時に止まってしまいます。 そもそもの作り方が間違えているのかと思い いろいろ調べて見たのですが、解決方法が見つかりません。 壁紙はランダムに、時計はリアルタイムで表示させるには どうしたらいいのでしょうか? どなたか教えていただけると助かります。 よろしくお願いします。

    • ベストアンサー
    • Flash
  • 6枚の画像をランダムに表示させる方法を教えてください

    現在do-jaでJavaのアプリケーションを作成しているのですが 6枚の画像をあるエリア内にランダムに配置して表示させたいのですがどういう風にソースを書けば良いか教えてください。 イメージ的にはオセロの盤面に6種類の画像を升目にランダムに配置するものです。 public void start(){ Display.setCurrent(new IAppliCanvas()); } } class IAppliCanvas extends Canvas{ int d1=20; int d2=20; int k1=1; int k2=1; int flgk=1; int flg1=0; int flg2=0; Image img; public static Random rand=new Random(); public IAppliCanvas() { int s=rand.nextInt(6); try { MediaImage mimage; switch(s) { case 1: mimage = MediaManager.getImage("resource:///z-blue.gif"); break; case 2: mimage = MediaManager.getImage("resource:///z-green.gif"); break; case 3: mimage = MediaManager.getImage("resource:///z-orange.gif"); break; case 4: mimage = MediaManager.getImage("resource:///z-prum(1).gif"); break; case 5: mimage = MediaManager.getImage("resource:///z-prum.gif"); break; default: mimage = MediaManager.getImage("resource:///z-red.gif"); break; } mimage.use(); img = mimage.getImage(); } catch(Exception e) { e.printStackTrace(); } } 上記のように記述したのですが同じ画像が全部の升目に表示されてしまいます・・・ ご指南お願いいたします。