• ベストアンサー

画像のピクセル

を1次元配列に直したらどのような順番で出力されますか?  abcdef ghijkl mnopqr stuvwx アルファベットをピクセルの値としたら 1 stuvwx→mnopqr→ghijkl→abcdef 2 stuvwx→rqponm→ghijkl→fedcba というような順で出力されるのでしょうか?

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

  • ベストアンサー
  • kmb01
  • ベストアンサー率45% (63/138)
回答No.2

ビットマップファイル(*.bmp)なら 1 stuvwx→mnopqr→ghijkl→abcdef の順でファイルとして保存されているし、動的に作成した場合でも1の順に並べてOSのビットマップ表示関数に渡すことになると思う。

gfgdhggddg
質問者

お礼

ありがとうございます。

その他の回答 (1)

  • nitscape
  • ベストアンサー率30% (275/909)
回答No.1

>1次元配列に直したらどのような順番で出力されますか? 「どのように出力されるか」ではなく「どのように出力するか」だと思います。 例えばpDataという配列に abcdefghijklmnop.... という画素データを入れていたとします。また画素を出力する関数としてSetPixcelという関数を使ったとします。すると... for(x = 0; x < 4; x++) for(y = 0; y < 4; y++) {  SetPixcel(x,y,pData[x*4+y]); } このようにすると aeim bfjn cgko dhlp というように出力されます。 for(x = 0; x < 4; x++) for(y = 0; y < 4; y++) {  SetPixcel(x,y,pData[y*4+x]); } このようにすると abcd efgh ijkl mnop というように出力されます。 for(x = 0; x < 4; x++) for(y = 0; y < 4; y++) {  SetPixcel(x,y,pData[15 - y*4-x]); } このようにすると ponm lkji hgfe dcba というように出力されます。 for(i = 0; i < 15; i++) {  SetPixcel(i,0,pData[i]); } このようにすると abcdefghijklmno というように出力されます。 というようにプログラム次第で順番が決まります。

gfgdhggddg
質問者

お礼

質問の仕方が悪かったです。すみません><

関連するQ&A

  • ピクセルの値から画像

    画像をRGB値の値で表す1次元配列を作ったのですが、それを今度は逆のことをしたいのですがよくわかりません。アドバイスお願いします。画像は白黒でR=G=Bです。

  • 多次元配列の2つ目の項目でソートするには?

    今、とあるデータを csv と同じ形式で多次元配列にセットしています。 この多次元配列を for 文を使って TABLE タグを出力させて一覧表示しています。 データ部は数値順です。 function ListOut(){  var data = [   ["0x0140","CB_GETEDITSEL","エディット領域の選択範囲の取得",…], ←データは9項目ある(長いので省略)    :   ["0x0161","CB_INITSTORAGE","リストボックスのメモリ初期化",…],   [0,0,0,0,0,0,0,0,0], ←データの最後を表す  ];    for ( var i=0 ; table[i][0] != 0 ; i++ ){   ListOutSub( table, i ); ←ここで1データを TABLE 出力  } } 質問1:  『data』リストの2つ目の要素でアルファベット順にソートする方法が分かりません?  ソート方法が分かれば数値順以外にもアルファベット順で ListOutSub 関数などで一覧表示できる  と思っています。→データをアルファベット順にソートして定義するのは量からして避けたいです。  『sort』を使えば出来そうですが、第1引数に何を、どのように指定するのかが分かりません。  ※『ListOutSub』は自作関数で多次元配列の1データを TABLE タグで出力させるものです。 質問2:  データの最後を[0,0,…,0]として終わりを判定していますが、何かよい方法ありますか?  『table.length』を使ってみましたが上手く出来ませんでした。→『i < table.length』  多次元配列の場合では『length』は使えないのでしょうか?  指定方法が間違っているのならば正しい方法を教えて下さい。 上記の2つがわかる方、どうか教えてくれませんか? ちなみに JavaScrpit は今年始めたばかりの初心者です。→参考までに C/C++ 言語歴は14年 宜しくお願いします。→回答へのお礼は夕方以降になります。

  • javaのpixelの色の指定に関して

    javaの色に関して質問します。 現在PixelGrabberで取得したpixelの中である条件を満たすpixelを指定の色に変換するプログラムを書いているのですが、自分が指定している色と実際に出力される色との違いに悩んでいます。 私が調べた範囲の理解だと pixelはint形式で上の桁から1バイトずつα値(透明度),R,G,Bと表現していると考えています。そこで黒と白を 白=0x00ffffff 黒=0x00000000 と指定しているのですが、真っ黒になってしまいます。指定した色で塗るために知恵を貸してください。お願いします。 ----------------実際のアルゴリズムとデータ---------------- ある閾値よりも濃い色→黒 そうでなければ   →白 この値をintの配列にいれ直す 配列からMemoryImageSorceを作る。 bufferedImageに変換して ImageIOのwriteメソッドで書き込む。 ---------------------------結果--------------------------- 添付の画像 グレースケールっぽい画像を二値化

    • ベストアンサー
    • Java
  • DOS/V Ver6.xx のDIRコマンド

    MS-DOS/V Ver6.xxのDIRコマンドで教えてください。 オプションなしで、ただ単に  dir のコマンドを打った場合、出力される順番はどういった順番になってるのでしょう?  ファイル名のアルファベット順?  拡張子のアルファベット順?  タイムスタンプ順? 3000個のファイルを持つディレクトリで  dir > list.txt でリダイレクトしてみたところ、上記のいずれでもなかったのですが、DOSはどういった順番で 出力してるのでしょう? よろしくお願いします。

  • ピクセルについて

    ピクセルについて 会社でIEからWEBサーバー内の画像を参照し、表示した画像上で線を任意で引き長さ(幅など)を計測し、その画像を拡大・縮小する機能が実装されています。 線の横に引いた線の長さの値が表示されるのですが、拡大・縮小すると本来同じでなければならないものが計測時の値と微妙に変わってしまう状態でした。 私には理解が難しいと察し先輩は「拡大と長さを計測した際の比率が違うため~」と濁されたのですが、先輩方同士で「ピクセルを基準に長さを測っているため、どうしても拡大・縮小をする際値が変わってきてしまう」の様な話をしていました。 その話を聞いてたしかに理解できなかったのですが、これは画面のドット・ピクセルの関係があるのでしょうか?

  • GridViewのデータソース

    VisualStudio2005で開発をしています。 ASP.NETでDBからデータを抽出し、そのデータを少し編集し、画面に表示とExcelにデータを出力しています。 Excelに出力をする関係上、データをDataTableで取得した後に、二次元配列に編集をしています。その配列に編集したデータをGridViewを使って表示させようかと思っています。 二次元配列の値を簡単にGirdViewのデータソースに設定することはできるのでしょうか? 二次元配列ではなくDataTableに編集してもよかったのですが、そうするとExcelに出力するのが行数分Loopさせなければならなくなるようなので・・・。 よろしくお願いします。

  • Perl言語での画像ファイルの作成を行いたいのですが、

    Perl言語での画像ファイルの作成を行いたいのですが、 2次元配列中に値をいれていて、 この2次元配列の値を画素値とするグレースケール画像を作成したいのですが、 どのようにすればよいでしょうか? 画像形式は、bmpでもjpgでもpngでもかまいません。 今のところImagerというperlモジュールを使ってできないかと試しているのですが、 やり方が良く分からず困っています。

  • 素数の出力

    もう一つ問題があります。 0<i<=Xのiについて素数であるものを出力する。というもので条件は 1、Xを指定し、1からXまでの数値を記憶する配列をポインタを用いて確保し、順に1からXまでの値を配列に代入する。 2、配列の各値について、それが素数かを調べる。 3、もし、2で調べた値が素数でない場合は、配列の値を-1に置き換える。 4、配列の全ての値について2、3を繰り返す。 5、すべて調べ終えたら、配列の中身を添字0から順に表示してゆく。 その際、値が -1の場合にはなにも表示しない。 です。 まったく分かりません。教えてください。 素数を調べるー>割算のあまりをみる。 順に調べるー>forをつかう。 -1に置き換え ぐらいしかわかりません。 ちなみに割算でのあまりの検証の仕方も分からないです。 教えてください。

  • ピクセルアスペクト比の変換

    何度か質問したことがあるのですが、質問が的確でなかったため有用な回答が得られていません。 アスペクト比が4:3、16:9などのサイズがあることはわかります。 しかし、単純な比率ではなく、ピクセル比が異なるため単純な比率でサイズが割り出せないので困っています。 ピクセル比には4:3は正方形と16:9は長方形なのが要因のようです。 本格的な制作ソフトでは、自動的に設定されるらしいですが、今回使用するCGソフトでは正方形のピクセルでしか出力できません。 そこでハイビジョンに相当する比率の映像を正方形ピクセルで出力して、後で長方形ピクセルに変えることができないか模索しています。 質問をまとめますが、 1.ハイビジョンの1920×1080相当の映像を正方形ピクセルで出力するには、どのようなサイズで出力すればよいか。 2.出力した正方形ピクセルの映像を横長ピクセルに変換するソフトはあるか(できればフリーソフト) うまく説明できませんが、画面の両側に黒帯を入れたり、映像両側に引き伸ばしたりしなくてもぴったり収まるようにしたいのですが。

  • 多次元配列

    初歩的な質問ですみません。 PHPプログラミングでの質問です。 仮に、多次元配列Aに、 Array( [0] => Array ( [0] => 6 ) [1] => Array ( [0] => 2 [1] => 1 ) [2] => Array ( [0] => 0 [1] => 5 [2] => 4 ) ) 多次元配列Bに、 Array( [0] => Array ( [0] => りんご ) [1] => Array ( [0] => ぶどう [1] => パイナップル ) [2] => Array ( [0] => みかん [1] => すいか [2] => メロン ) ) のように値が入っている場合、配列Aの値を参照して 値の大きいものから順に、それに対応する配列Bの値を取り出し、 あたらしい配列Cに代入する処理の書き方を教えて下さい。 上記の例ですと、配列Cが、 Array ( [0] => りんご [1] => すいか [2] => メロン [3] => ぶどう [4] => パイナップル [5] => みかん ) となるようにしたいです。 よろしくお願いします。 長文失礼しました。

    • ベストアンサー
    • PHP

専門家に質問してみよう