• ベストアンサー

画像をバイナリデータに変換する方法

ディレクトリ内にある『.gif』の画像~枚を 100kb単位でバイナリデータに変換して 『.dat』という拡張子で出力させたいと思っています。 Perlをふれた事はあまり無く、何から手を付ければ良いのかいまいちつかめません。 『.gif』を100kb単位でバイナリデータに変換する方法など、知っている方いましたら御教授お願い致します。 宜しくお願いします。

  • Perl
  • 回答数2
  • ありがとう数0

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

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.2

>戻すことも必要になります。 質問ばかりですみません。 例えば a.gif,b.gif,c.gif と有った場合、 まとめて 1.dat,2.dat,3.dat,…のようにするのか a-1.dat,a-2.dat,b-1.dat,b-2.dat,…のように 各ファイル毎にするのかどちらでしょう また、元のファイルに戻すための情報は、 ファイル名-1の様にして、ファイル名に元のファイル名を含めるような感じにするのか 別にインデックスファイルみたいなものをつくるのか あるいは、出力するファイルにヘッダ情報みたいな形で付けるのか(これは、難しくなるのであまりよくないです) それと、復元されるファイルの作成時間は、元の作成時間などの情報にするのか、復元した時の時間でいいのか そういうのは、どうなのでしょう? 差し支えなければ、100kb単位で分割する理由を(どういう利用なのかとか)教えてください。 単に分割するだけなら、分割するツールもたくさんフリーウェアとして存在します。 >この場合はwriteでしょうか? writeは、formatによる書式指定の出力なので、この場合は、必要ないと思います。 windows系だったらbinmodeを使えばいいと思います。 あと、お好みで sysread,syswirteも使うことができますが、あんまり大差ないのではないかと思います。

その他の回答 (1)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

readとprintを使ってできると思いますが、 戻すことは考えなくていいんですか?

maxpower-zero
質問者

補足

ご指摘有難うございます。 戻すことも必要になります。 この場合はwriteでしょうか?

関連するQ&A

  • バイナリーファイルの変換

    CCDカメラで取り込んだ画像ファイルがどうやらバイナリーで出力されているようなのです。(拡張子は.dat)テキストで読めるようにしたいのですが、どのように処理すればよいのでしょうか?Cプログラムは多少組めます。参考図書などあるようでしたらご教示いただけたら幸いです。よろしくお願いいたします。

  • 画像をバイナリに変換

    読み込んだ画像をバイナリデータに変換することは可能でしょうか? ご存知の方おられましたらどうぞよろしくお願いいたします。

    • 締切済み
    • PHP
  • バイナリーファイルを画像に変換

    バイナリーファイルを画像に相互変換してくれるソフトってないでしょうか? たとえば QRコードみたいなものですが、QRコードだと 3KB弱のファイルまでなので サイズが小さすぎます。

  • javaバイナリ変換したデータのファイル出力

    現在、 String test_st = "0123456789abcdef"; というデータを byte[] bytes = test_st.getBytes("UTF-8"); このコードでバイナリ変換したのですが、このbytesに格納したバイナリデータたバイナリファイルとして出力したいのですが、どのようにしたらよいかご教授よろしくお願い致します。 BinaryFileWriter writer = new BinaryFileWriter(); このようなコードで出力できるとのサンプルもあったのですが、うまくいきません。 どうぞ、よろしくお願い致します。

    • ベストアンサー
    • Java
  • バイナリーの画像データを読み込む。

    データベースをサイベース社のAdaptive Server Anywhre 7と いうのを使用していて、そのDBのテーブルに、long binaryで画像データ の定義を切ってデータをバイナリで保存してあります。 (もとはBMPの画像をバイナリに変換している) 上記のバイナリデータをVBのフォーム上(イメージ)に表示させるには どのようにしたらいいのでしょうか? もちろん、Loadpicture句を使用するのでしょうが、通常はパスを切ったり して使用すると思うのですが。。 VB始めたばかりでまったく想像つきません。どうか教えてください! 別記:上記サイベースのDBで10回程度連続でDBを読み込みに行くと エラーになるのですが、DB上でそのような回数の指定があるのでしょうか? それとも、ハード的な問題なんでしょうか?いままでそのような経験が ありましたら対策等教えてください。お願いします!

  • バイナリーデータをGIFで表示させるには?

    $gif = "GIF89a(・b・E・タ・#・・・c・艤55・・・・"; ↑ のようなバイナリーデータをGIF画像として表示させるにはどうすれば良いでしょうか?

    • ベストアンサー
    • PHP
  • バイナリファイル(画像等)データをオフセットして読み込みたい

    タイトル見ただけではなんのこっちゃかもわかりませんが 行いたい事は以下の通りです。 バイナリファイル(画像ファイル)、仮に15Kバイトのサイズだったとします。 それを10Kバイト区切りで読み込みたい。 そして変数$str1,$str2に格納したい。 open(BIN, "< test.gif"); binmode(BIN); #ファイルの先頭から10Kバイト読み込んで変数$str1に代入 sysread(BIN, $str1, 10000); #上記で読み込んだ個所から、残りのデータを読み込みたい #オフセット10Kバイトから5Kバイト読み込む sysread(BIN, $str2, 5000,10000); close(BIN); のような処理でいいのかと思っていたのですが、 $str2には期待通りの形で格納されませんでした。 先頭の10000バイト(オフセットで指定したサイズ)がNULLになっており、 その先から残りのバイナリデータが格納されていました。 自分が行いたいのは、 $str2の先頭から、バイナリファイルのオフセットの値 (ここでは10Kの部分からのこりの5K) を格納したいのです。 この関数ではダメだと思うのですが、 自分の行いたい処理の関数が見当たらず困っております。 どなたかご存知の方、どうぞよろしくお願い致します。

    • ベストアンサー
    • Perl
  • テキストファイルのデータからバイナリを作りたい

    現在、テキストデータとしてCSVファイル1つあたり8バイトのデータが1000個ほどのデータが書かれているファイルがあります。このデータをバイナリファイルへ数値も変換して行きたいと思っています。 たとえば1個目のデータ”12345678”というテキストデータをバイナリの"12345678"に変換したらそれを0x00番地に並べて、そして2個目のデータ”87654321”というデータをバイナリにしたらそれを0x90離れた場所に置いていき、それを1000回繰り返して、結果をバイナリファイルで出力したいのですが、何か簡単にできるフリーソフトなどありませんでしょうか? また、プログラムとかでも簡単にできるのならそうしたいのですが、どうしたらよいか教えていただけないでしょうか?

  • Cでバイナリデータを変換

    今持っているバイナリファイルfile1.x86をテキストファイルfile1.txtに変換したいんですけどうまくいきません。fopenとfreadでバイナリファイルを読み込むところまで入っていると思うんですけど、テキストファイルとして書き出すことができません。 #include <stdio.h> main() { short a[32000]; FILE *infile, *outfile; infile = fopen("iroha.x86", "r"); outfile = fopen("iroha.dat", "w+"); fread( a, sizeof(short), 32000, infile ); fwrite( a, sizeof(short), 32000, outfile ); fclose(infile); fclose(outfile); } これだとそのまんま出力されるんです。当たり前なんですけど... どこをどう変えればいいか教えてください。 よろしくお願いします。

  • Excel内のデータに直接書き込むってやったことある人いますか?しかもバイナリで!!

    とあるツール(回路シミュレータSPICE)の出力データから1クリックでエクセルファイルに変換するツールを考えています。今のところデータ整理作業としては、 SPICE出力データ(倍精度バイナリデータ)=>Bin to 10進ASCII変換=>必要なデータを抽出=>エクセルファイルにコピペ=>保存(倍精度バイナリデータ) という感じで面倒かつ単調な作業が日々の暮らしになっています。でExcelの中身をバイナリエディタで眺めてみたところデータ管理はどうやらSPICE出力データと同じ倍精度バイナリデータで管理されているようでした。そこで、 SPICE出力データ(倍精度バイナリデータ)=>必要なデータを抽出=>エクセルファイルにコピペ(倍精度バイナリデータ)=>保存 てなことをやれないかと思ったわけです。しかしExcelファイル中身のフォーマットがどうなっているのか(セルの位置とかの管理)よくわからないのですが、何かいい方法とか資料とかはないでしょうか?分かる方いましたらよろしくお願いします。

専門家に質問してみよう