• ベストアンサー

水平線の描画

水平線を描画するプログラムの書き方を教えていただきたいです。 初歩的な質問ですがよろしくお願いします。

noname#45139
noname#45139

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

  • ベストアンサー
  • Oh-Orange
  • ベストアンサー率63% (854/1345)
回答No.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/win22.html
noname#45139
質問者

お礼

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

その他の回答 (3)

  • iyomante
  • ベストアンサー率60% (14/23)
回答No.3

最小限の線引きならこんな感じですが。 #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; } 土台にウィンドウが必要だとまた変わって来ますが また開発環境なども

noname#45139
質問者

補足

ご回答ありがとうございました。 そして説明不足で大変失礼致しました。 開発環境は WindowsXP VisualC++V6.0です。 今回SetPixelという関数を使ってDisplay領域の指定された位置から指定ドット数分の水平線を描画するというプログラムを書きたいと思っております。 まだまだ勉強中ですのでもしよろしければご教示お願いいたします。

  • alphion
  • ベストアンサー率19% (27/136)
回答No.2

環境がわかりませんが…

参考URL:
http://www.kumei.ne.jp/c_lang/sdk/sdk_23.htm
noname#45139
質問者

補足

早速のご返答ありがとうございました。 そして説明不足で大変失礼致しました。 開発環境は WindowsXP VisualC++V6.0です。 今回SetPixelという関数を使って指定ドット数分の水平線を描画するというプログラムを書きたいと思っております。 参考URLを見てみましたら、ためになりそうですので勉強させていただきます。ありがとうございました!

  • Oh-Orange
  • ベストアンサー率63% (854/1345)
回答No.1

★アドバイス ・下の『参考URL』をどうぞ。

参考URL:
http://wisdom.sakura.ne.jp/system/winapi/win32/win23.html
noname#45139
質問者

補足

早速のご返答、感謝いたします。 そして、いろいろと説明不足で申し訳ございませんでした。 まず開発環境は WindowsXP VisualC++V6.0です。 SetPixelという関数を使って、指定ドット数分の水平線を描画するプログラムの書き方など教えていただけると大変助かります。 お願いばかりで申し訳ありません。 よろしくお願いします。

関連するQ&A

  • 傾いた楕円の描画方法

    PCでの楕円の描画は、ライブラリに組み込まれていますが、水平(または垂直)の楕円については、関数1行で描画することができます。 ところが、傾いている楕円については、描画することができません。 そこで、ミッチェナーのアルゴリズムで円を描くプログラムを変形して、上下(左右)のプロット位置をずらせば、一応、楕円は描画できるので、さらにプロットする部分に回転をかければ回転した楕円を描画できると考えて、プログラムを作成してみました。 しかし、あまり綺麗な楕円を描画できません。 ミッチェナーのアルゴリズムを上下に圧縮した時点で、左右の部分が少し密になり(これは許容できる範囲ですが)それを回転させるとき、実数計算になるため、最終的な位置は、ドットのどちらかになってしまうので、あまりうまくいきません。 ミッチェナーのあるごりずむの原理を使って、傾いた楕円の式から、直接プロットしなければ綺麗な楕円を描画することができないと考えます。 最終的に欲しい関数は、傾いた楕円の外接する4点の座標を与えて、描画する関数です。

  • わーど2003の図形描画で、四角形を選んでテキストを入力し、水平垂直方

    わーど2003の図形描画で、四角形を選んでテキストを入力し、水平垂直方向とも真ん中に配置したいのですが、水平方向はツールバーの中央揃いでできますが、垂直方法の調整が判りません。四角形の大きさはそのままにしておいたままそうしたいのです。例えば、日の丸の旗のような感じです。垂直方向で中央に配置する方法を教えて下さいませんか。

  • 描画キャンバスの水平方向中央にグループ化したオブジェクトを配置する方法

    Word2003です。 グループ化したオブジェクトは、「オブジェクトの書式設定」→「レイアウト」タブ→「水平方向の配置・中央」で用紙の中央に配置されます。 同じように描画キャンバス内にグループ化したオブジェクトを水平方向の中央に配置したいのですが描画キャンバス内では、「オブジェクトの書式設定」→「レイアウト」タブには、図表内の位置を数値で入力する「ボックス」はありますが「水平方向の配置」はありません。 図表内の位置の数値を計算するのが面倒です キャンバスの外と同様「水平方向の配置」を簡単に「中央」にする方法がありましたら教えてください。

  • ウインドウズアプリケーションでの図形描画

    プログラミング初心者の学生です。 ウインドウズアプリケーションで図形を描画するプログラムを作成しようとしています。 エディットボックスに入力した値を使って,四角形などの図形を描画することができるようにしたいのですが,うまくいきません。 エディットボックスに入力した値を取得して,例えば ectangle( hDC, 100, 100, 200, 200 ); の数字の場所に代入するようなことは可能でしょうか。 初歩的な質問で申し訳ありませんが,教えていただけると嬉しいです。

  • ワードで描画キャンパスの下線が消えない

    ワード2003を使用して、描画キャンパス内で図式を作ったのですが、描画キャンパスの下枠の罫線が消えません。切り取りしますと、作った図形まで消えてしまいます。どうしたらよいのでしょうか? 初歩的質問ですみませんが教えて下さい。

  • Excel 2007で、フリーフォーム描画

    Excel2007でフリーフォームを直線で描画したい  (1)Shift キーを押しながら描画しても、直線にならない(参考画像を添付します)  (2)Word2007では、直線、垂直をShiftキーを利用して、簡単に描画できます。 簡単に直線(垂直・水平)が描画できる、良い方法があれば教えてください。

  • 気泡管水平器の使い方

    たいへん初歩的な質問で恐縮なのですが、 気泡管水平器の使い方(見かた)がわからなくて困っています。 http://www.ebisu-level.co.jp/suihei.html このサイトを見てもよくわかりません。 標線と標線の中央に気泡があることで水平であるというのは分かるのですが、 たとえば、 http://www.e-dougu.jp/images/BX3-D.jpg ↑このような水平器の、三ヶ所のうち一番右の器の観察法がわかりません。 ぜひ、正しい使い方を教えていただきたいです。よろしくお願いします。

  • javaで描画したい

    今回もよろしくお願いします。 javaを使って描画ソフトを作成しているのですが、困っています。 javaはインストールできて、コマンドプロンプトを使ってjavaのプログラムを実行するところまではできました。 しかし、フレームを作って、パネルに円や線を描くプログラムを作ったところまではよかったのですが、作ったものを実行しても、描画された絵が出てきません。 うまく説明できないのですが、わたしの考えていたのはコマンドプロンプトでコンパイルして実行するとプログラムが絵になって出てくるという物でした。 javaのダウンロードしたものはjdk-6u24-windows-i586で、インストールして使っています。javaとしての機能はちゃんとつかえているので、問題ないはずです。テストとしてHelloを返すプログラムを書いたところHelloとちゃんと返ってきました。 Windows-Vistaを使っています。 どのように設定すれば描画したものが出てくるのでしょうか。 説明不足だと思うのですが、よろしくお願いします。

    • ベストアンサー
    • Java
  • Flashの描画が上手くいきません。

    すみません、初歩的な質問なのですが。 ブラシなどの描画ツールを使って画面に描くと線だけの画になってしまうんです。線の色はレイヤーの横にある■の色なのですが。 こういうときどうしたら、ペイントのように、描いた絵がきちんと表示されるのでしょうか? 使用しているのはFlash MX Professional 2004です。

    • ベストアンサー
    • Flash
  • MFCで水平スクロールバー

    非常に初歩的な質問で申し訳ありませんが、Visual C++のMFCでメインのウインドウに水平スクロールバーを取り付けるにはどうすればできるのでしょうか?