• 締切済み

c言語の画像処理プログラム

画像処理を勉強している初心者です。これからいろいろな画像処理を勉強していく予定ですが、もっとも基本のc言語で画像を表示させる方法がわからないですが、プログラムのソースとやり方を詳しく教えていただけませんか?

みんなの回答

  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.2

お使いのパソコンの環境の情報を投稿したほうが適切なアドバイスが得られますよ WindowsなのかLinuxなどのUnix環境なのかそれともMacなのか C/C++コンパイラをお持ちなのか、これから準備するのか プログラミングスタイルはどうするのか WinAPIなのかフレームワーク(MFC/OWL/X)を使うのか 扱う画像の種類は何なのか といった情報です …

  • usatan2
  • ベストアンサー率37% (163/436)
回答No.1

私は、フリーのBCCコンパイラで、 http://www.geocities.jp/ccfjd821/pindex.html を参考に、 JPEG、BMP,PNGの画像ファイルを読み込めるimgctl.dllを http://www.vector.co.jp/soft/dl/win95/prog/se222453.html からダウンロードし、以下のプログラムを使っています。 これは、  case WM_CREATE:で、画像ファイルを読み込み、  case WM_PAINT:で、読み込んだ画像を表示し、  case WM_DESTROY:で、領域を開放している という必要最小限のプログラムです。 WinMAin()は、たとえば http://www.geocities.jp/ccfjd821/purogu/wpe-ji1.html を参考にしてコピペすれば動きますよ。 実は、この方法は、つい最近、ここで質問してたどり着いた最新情報です(笑)。 http://oshiete1.goo.ne.jp/qa4052901.html // imgctl.dll を使った描画プログラム 2008-6-5 #include<windows.h> #include "imgctl.h" LRESULT CALLBACK WndProc(HWND hWnd,UINT uMsg,WPARAM wParam,LPARAM lParam){  HDC hdc;  PAINTSTRUCT ps;  HINSTANCE hInst;  static HDC hMin;  static HDIB hDIB1,hDIB2,hDIB3;  static BITMAPINFOHEADER pbmih1,pbmih2,pbmih3;  switch(uMsg){   case WM_CREATE:    hMin=CreateCompatibleDC(NULL);    hInst=(HINSTANCE)GetWindowLong(hWnd,GWL_HINSTANCE);    hDIB1= ToDIB("a.jpg"); HeadDIB(hDIB1, &pbmih1);    hDIB2= ToDIB("b.bmp"); HeadDIB(hDIB2, &pbmih2);    hDIB3= ToDIB("c.png"); HeadDIB(hDIB3, &pbmih3);    return 0;   case WM_PAINT:    hdc=BeginPaint(hWnd,&ps);    DIBtoDC(hdc, 0,0, pbmih1.biWidth, pbmih1.biHeight, hDIB1, 0,0,SRCCOPY);    DIBtoDC(hdc, 100,200, pbmih2.biWidth, pbmih2.biHeight, hDIB2, 0,0,SRCCOPY);    DIBtoDC(hdc, 300,100, pbmih3.biWidth, pbmih3.biHeight, hDIB3, 0,0,SRCCOPY);    ReleaseDC(hWnd,hdc);    EndPaint(hWnd,&ps);    return 0;   case WM_DESTROY:    DeleteDIB(hDIB1);    DeleteDIB(hDIB2);    DeleteDIB(hDIB3);    PostQuitMessage(0);    return 0;  }  return DefWindowProc(hWnd,uMsg,wParam,lParam); }

ioioioio
質問者

お礼

参考になりました。ありがとうございました。

関連するQ&A

  • C言語プログラムを用いた画像表示プログラム

    おはようございます。 お時間ありましたら、ご教授よろしくお願いいたします。 C言語を使って、画像の表示、画像の処理ができるプログラムを作成したいのですが、私自身、JAVAを少しかじった程度の知識しかなくなかなかうまくいきません。 やっかいなことに、ただ画像を表示させるだけでなく、JPEGライブラリを用いた(JPEG画像を読み込んで処理できる)C言語プログラムのプログラムを作成したいのですがうまくいかずご質問させていただきました。 参照できるサイト、ご自信の作られたプログラム、プログラムを経験されている方の記述など教えていただければ幸いです。 明確な質問ではないのでご回答が非常に難しいと思いますが、よろしくお願いいたします。 早朝からお忙しいと思いますが、お時間がありましたら是非ご教授よろしくおねがいします。

  • C言語でのプログラムの作り方

    はじめまして。C言語初心者の中学一年生です。 C言語でプログラムを作ろうと思ったのですが、やり方がわかりません。 ”hello”と表示するプログラムの作り方を教えてください。 使用しているコンパイラは"Visual C++ 2010"です。パソコンはWindows xpです。 中学生でも分かるように教えてください。 エディエタ、やソースプログラムなどの用語についても教えてくださると嬉しいです。

  • 画像処理

    IrfanViewという画像表示ソフトを使ってVisual cでc言語画像処理のプログラムを実行して処理した画像を表示させたいです。プログラムのソースともとの画像があるのですが、どのようにすれば、もとの画像がどこにあれば処理できるかわからないです。詳しく教えていただけませんか?osはwindows xpです。

  • C言語で画像処理

    C言語で画像処理をしたいのですが、元となる画像の形式は何がよいのでしょうか?BMP,GIF,JPEG,PNG,などいろいろな形式がありますよね。一般的には画像処理プログラミングをするときに、どの形式の画像を用いるのでしょうか? また、その画像の読み込み方がわかりません。C言語は入門書を一通りやってみた程度で、画像処理のプログラミングの仕方がわかりません。 初心者なものでよろしくお願いします。

  • 画像処理プログラムについて

    趣味でC言語を勉強しており、画像転送のプログラムに興味があり、やっているのですが、どうもエラーがよくわかりません。 BMP形式での通信をやっています。 readBmp: Open error! 実行すると、 というのが表示されます。 まだ初心者なので、わかりません。返答をお願いします。

  • c言語でログイン処理はできますか?

    c言語は学んでいて、phpはまだ学んでいないので、c言語でやりたいのですが、 ログイン処理はできますか? また、できる場合、どんなソースになるんでしょうか? >>>>>そもそも、c言語で書いたプログラムをhtmlに載せるにはどうすればいいのですか? 急ぎです。。。。宜しくお願いします・

  • C# 画像のトリミング処理

    C#の課題で画像のトリミング処理を行いたいのですが、 どういった処理を行えばいいのか分かりません。 ネットでもいろいろ調べてみたのですが、 Picturebox上に表示させる画像のトリミング方法は見つかっても、 画像そのものにトリミング処理を行う方法は載っていませんでした。 上記のソースを参考にして、 Pictureboxをプリントスクリーンで撮って保存するやり方も試してみたのですが、Pictureboxよりも大きな画像(パソコンの解像度ぎりぎり)の処理で上手くいきません。 C#のソースプログラムでは 画像そのものに直接手を加える形でのトリミング処理は出来ないのでしょうか?

  • C言語等での画像処理の勉強方法

    画像処理をしたいがためにCを勉強中のものです。 新版 明解C言語 入門編 (単行本) 柴田望洋 (著) を読んでCの基礎を学んだのですが、画像処理については一切触れらていませんでした。 これからC言語で画像処理の勉強をするに当たって分かりやすい本やサイトがあれば教えてください。

  • C言語 ?のついた処理内容

    C言語初心者です。 FFTの勉強をしようと先人の作ったC言語プログラムを 参考に処理内容を勉強中ですが、以下の文が どのような処理を行っているのか理解できません。 ご存知の方たいへんおてすうですが、処理内容を ご教授をお願いします。 よろしくお願いします。  w = (flag? M_PI: -M_PI) / (double)n;

  • PHPにてC言語プログラムを呼び出す方法

    PHP言語内でC言語プログラムを呼び出す方法があると伺ったのですが、どうすればいいのかご存知でしょうか? いくつか試して見たのですが、ソースコードをテキストとして表示するものばかりでして・・・

    • ベストアンサー
    • PHP

専門家に質問してみよう