No.3ベストアンサー
- 回答日時:
★アドバイス
・API に RoundRect() 関数があります。
下の『参考URL』をどうぞ。
・自作する場合は Arc()、Pie() と直線(長方形)を組み合わせて描画します。
特に自作する必要がなければ RoundRect() 関数を利用しましょう。
・以上。
参考URL:http://wisdom.sakura.ne.jp/system/winapi/win32/w …
この回答へのお礼
お礼日時:2007/12/02 23:44
自作する必要があったので助かりました。
Arc()とPie()を使うのですね。
勉強不足でした。
いつも的確なアドバイス、ありがとうございます。
No.2
- 回答日時:
GDIに角丸の四角形を描画する関数がありますよ。
http://mtbeta.msdn.microsoft.com/ja-jp/library/a …
MFCを使っているならCDCクラスに同様のメンバ関数があります。
この回答へのお礼
お礼日時:2007/12/02 23:46
描画する関数が用意されていましたね。
勉強不足で申し訳ありません。
自作するにあたって参考になりました。
ありがとうございました。
No.1
- 回答日時:
Visual C++ 6.0を使ったことはないので原理的な部分だけ.
例えば
(0,0),(100,0),(100,50),(0,50)を角とする長方形に半径1の丸みを付けたいなら
(1,0)-(99,0),(100,1)-(100,49),(99,50)-(1,50),(0,49)-(0,1)
の直線を描画した後、
(1,1)を中心とした半径1の円の左下
(99,1)を中心とした半径1の円の右下
(99,49)を中心とした半径1の円の右上
(1,49)を中心とした半径1の円の左上
を描画すればいいのでは?
コンピュータ上では「円」というより「正多角形」で円を表現することになると思いますので、仮に半径r,中心座標(a,b)の円を正360角形で表現すると
for(int j=0;j<360;j++)
{
x=r*cos(2π/num*j)+a;
y=r*sin(2π/num*j)+b;
}
となると思います。2π/numはラジアン単位で表現するためです。
あとは右上とか限定するにはjが0-90,90-180,180-270,270-360で分ければいいのではないかと。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- ノートパソコン Open Office.orgのDrawで描いた図形の塗りつぶしをしたい 1 2022/03/22 19:24
- Illustrator(イラストレーター) イラストレーターで文字の背景に自動で入れた長方形の左側の角だけ丸く(右側だけ直角に)する方法 4 2023/04/21 11:08
- 数学 画像の中学2年生の数学の問題について教えていただきたいです。 三角形ADCが二等辺三角形であることと 2 2023/01/29 16:14
- PowerPoint(パワーポイント) 2016EXCEL→2016PowerPointにコピペすると図形がゆがみます 5 2022/03/31 11:44
- お菓子・スイーツ 角食型で山食パンを焼きたい 2 2022/10/16 08:24
- その他(教育・科学・学問) グーグルスプレッドシートの図形描画のバグ?「保存して終了」ボタンが突然消失 2 2022/04/05 13:11
- CAD・DTP 「機能ブロック図」の描画用フリーソフトを教えてください 1 2022/09/23 16:12
- 数学 「θ=0°以上180°以下のとき、tanθ=(ルート3)-2であるときのcosθ、sinθを求めよ」 2 2022/07/24 20:19
- 美術・アート ペンタブとオフィス系ソフト 1 2022/10/08 19:27
- Photoshop(フォトショップ) Photoshopだと長方形ツールを使っても色が出ません。というか、レイヤーに表示されてすらいません 1 2022/08/06 23:31
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ListBoxで改行したい
-
for文の実行速度を遅くしたいの...
-
円の頂点の求め方を知りたいです。
-
ビットマップに描画をしてピク...
-
Excel VBA:コントロールボタン...
-
WindowsAPIの、ウインドウの表...
-
給紙トレイをダイアログを使わ...
-
C#を用いて描画する四角形の角...
-
ボタンの更新速度について
-
BCB5:Canvas->FrameRectで描画...
-
COLORREF color の反転色
-
PictureBoxのダブルバッファリ...
-
Pythonにおける物理のシミュレ...
-
ピクチャーボックスのサイズを...
-
エクセルのレーダーチャート 0...
-
コンボボックスのテキストを消...
-
.NETのPictureBoxでウインドウ...
-
win32api複数のタイマーを同時...
-
MySQLのデータをグラフ化して表...
-
worksheetFunctionクラスのVloo...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ListBoxで改行したい
-
for文の実行速度を遅くしたいの...
-
給紙トレイをダイアログを使わ...
-
Word 描画オブジェクトを削除...
-
VB.NETでグラフィックを描くと...
-
C#を用いて描画する四角形の角...
-
C# DrawImage 物理サイズでな...
-
ビットマップに描画をしてピク...
-
PowerPoint の VBA
-
画面に絵を出す方法
-
DrawLineで引いた線が消えてし...
-
VC++ ドラッグしながらの図の...
-
円の頂点の求め方を知りたいです。
-
MFCでのコンボボックスについて
-
画面の再描画について
-
Windows10のC#のピクチャーボッ...
-
フォームに描画して表示をスク...
-
VB PictureBoxの描画範囲
-
PictureBoxのダブルバッファリ...
-
C#で壁の当たり判定と自キャラ...
おすすめ情報