dポイントプレゼントキャンペーン実施中!

水平線を描画するプログラムの書き方を教えていただきたいです。

初歩的な質問ですがよろしくお願いします。

A 回答 (4件)

★アドバイス


・最初に SetPixel 関数で直線を描画すると非常に低速になります。
 それでよければ下のサンプルをどうぞ。

サンプル:
int x;

for ( x = 0 ; x < 1024 ; x++ ){
 SetPixel( hDC, x, 256, RGB(0xFF,0x00,0x00) );
}

解説:
・hDC というデバイスコンテキスト領域に x 軸 0~1023、y 軸 256 のピクセル位置に
 横の直線を描画します。横の長さは 1024 ピクセル分です。
 たての場合は x、y を入れ替えて考えて下さい。
・以上。下の『参考URL』をどうぞ。

参考URL:http://wisdom.sakura.ne.jp/system/winapi/win32/w …
    • good
    • 0
この回答へのお礼

サンプルとご丁寧に解説までつけてくださってありがとうございました!!
サンプルを参考に試してみましたところ、上手くいきました!!
本当にありがとうございました!!

お礼日時:2007/11/05 23:21

最小限の線引きならこんな感じですが。



#include <windows.h>

int main(int argc, char* argv[])
{
HDC hdc = GetDC(NULL);
MoveToEx(hdc, 0,300, NULL);
LineTo(hdc, 1024, 300);
ReleaseDC(NULL, hdc);
return 0;
}


土台にウィンドウが必要だとまた変わって来ますが
また開発環境なども

この回答への補足

ご回答ありがとうございました。
そして説明不足で大変失礼致しました。
開発環境は
WindowsXP
VisualC++V6.0です。

今回SetPixelという関数を使ってDisplay領域の指定された位置から指定ドット数分の水平線を描画するというプログラムを書きたいと思っております。
まだまだ勉強中ですのでもしよろしければご教示お願いいたします。

補足日時:2007/11/05 22:01
    • good
    • 0

環境がわかりませんが…



参考URL:http://www.kumei.ne.jp/c_lang/sdk/sdk_23.htm

この回答への補足

早速のご返答ありがとうございました。
そして説明不足で大変失礼致しました。
開発環境は
WindowsXP
VisualC++V6.0です。

今回SetPixelという関数を使って指定ドット数分の水平線を描画するというプログラムを書きたいと思っております。
参考URLを見てみましたら、ためになりそうですので勉強させていただきます。ありがとうございました!

補足日時:2007/11/05 21:57
    • good
    • 0

★アドバイス


・下の『参考URL』をどうぞ。

参考URL:http://wisdom.sakura.ne.jp/system/winapi/win32/w …

この回答への補足

早速のご返答、感謝いたします。
そして、いろいろと説明不足で申し訳ございませんでした。
まず開発環境は
WindowsXP
VisualC++V6.0です。

SetPixelという関数を使って、指定ドット数分の水平線を描画するプログラムの書き方など教えていただけると大変助かります。
お願いばかりで申し訳ありません。
よろしくお願いします。

補足日時:2007/11/05 21:50
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!