人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

プログラム(CかJavaかphpなど)で、二つの画像ファイルを一つにしたいのですが、どうやれば宜しいでしょうか?

イメージとして、プログラムで、新しい画像ファイルを生成して、その画像ファイルのヘッダーとボディー部分を変換元のファイルをもとにバイナリ操作するようなイメージだと思っています。

最終的な画像ファイルの出力フォーマットはgifかjpegを考えています。
それらの画像ファイルのフォーマット仕様を理解する必要もあるかと思いますが、一連の方法についてwebや本など資料がありましたら、教えてください。お願いします。

●質問者: sakata0819
●カテゴリ:コンピュータ
✍キーワード:GIF Java JPEG PHP Web
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● peugeot
●100ポイント ベストアンサー

OpenCV(intelの画像処理ライブラリ)を使うと結構簡単に画像操作ができます。フリーのライブラリながら

顔検出機能など結構つかえる機能があります。

http://www27.atwiki.jp/nina_a/pages/40.html

またlibjpegを使ってデコード・エンコードして操作も可能です。

JPEGといってもデコードしてYUV形式で操作する分には簡単です。

最終的に再度JPEGにエンコードして記録する事になります。

◎質問者からの返答

これ良いですね。どうもありがとうございました。

とても参考になりました。


2 ● kn1967
●80ポイント

php + GDライブラリ がお手軽かと思います。


バイナリで操作しなくても切り貼りなどできますので

画像フォーマットに関しての詳細な知識などは不要です。

PHP: GD - Manual


例えば、元の画像の上に他の画像を重ねるだけなら・・・

PHP: imagecopymerge - Manual

// 画像のインスタンスを作成します

$dest = imagecreatefromgif('php.gif');

$src = imagecreatefromgif('php.gif');

// コピー・マージします

imagecopymerge($dest, $src, 10, 10, 0, 0, 100, 47, 75);

// 出力してメモリから解放します

header('Content-Type: image/gif');

imagegif($dest);

imagedestroy($dest);

imagedestroy($src);

◎質問者からの返答

サンプルコードまで頂きどうもありがとうございました。

それほど複雑な操作でなければこちらでもできそうです。

助かりました。


3 ● hijk05
●1ポイント

楽しく学ぶJavaではじめる画像処理プログラミング
杉山 三樹雄
4886486746

◎質問者からの返答

すみません。絶版のようです。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ