ウィンドウズプログラミングでウィンドウに点を描画するために、SetPixel関数を用いたのですが、点の大きさが小さいので大きくしたいです。知っている方がいれば教えていただきたいです。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答2件
0
アプリケーションの種別によって、実現方法は異なります。
C/C++, Windows とされているので、以下、SetPixel は Win32 API であると仮定します。
「大きな点」とは、具体的にどんなものを期待しているでしょうか?
コンピュータの画面は「ピクセル」と呼ばれる小さな矩形の集合体です。
SetPixel() は、↑の1つの矩形を描画します。
なので、「大きな点」の示す意味を、コンピュータの画面向けに明確化しなければなりません。
おそらく「大きな点」は「小さな矩形の集合」で表す他ありません。
とすると「小さな矩形の集合」としてどんなものを期待するでしょうか?
「複数の小さな矩形を真四角に並べたもの」でしょうか?
「複数の小さな矩形を円形に配置したもの」でしょうか?
前者は Rectangle() で、後者は Ellipse() で実現可能です。
投稿2017/06/03 10:48
編集2017/06/03 10:55総合スコア402
0
ベストアンサー
WindowsAPIを使用の前提で回答します。
SetPixel関数では点の大きさは指定できません。
代わりにEllipse関数で楕円を描くことができるので、こちらを使用してみてください。
https://msdn.microsoft.com/ja-jp/library/cc428585.aspx
SetPixelでも工夫次第で大きくすることもできます。
とは言っても処理的には面倒なので一回り大きくする程度でしょうか。
x,yを中心に、周囲4点を描画。
c
1x = X座標; 2y = Y座標; 3SetPixel(hdc, x - 1, y, crColor); 4SetPixel(hdc, x, y - 1, crColor); 5SetPixel(hdc, x, y, crColor); 6SetPixel(hdc, x + 1, y, crColor); 7SetPixel(hdc, x, y + 1, crColor);
こちらのサイトも参考にしてみてください。
http://d.hatena.ne.jp/mclh46/20100716/1279275864
投稿2017/06/05 00:46
総合スコア16998
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/06/03 11:15
2017/06/03 11:47 編集
2017/06/05 07:09