
No.3ベストアンサー
- 回答日時:
判定逆でしたね。
if (x>=X1 && x<=X2 && y>=Y1 && y<=Y2)
{
hPen=CreatePen(PS_SOLID,1,反転色値);
SelectObject(hPen);
PolyLine(x,y);
}
else
{
hPen=CreatePen(PS_SOLID,1,標準色値);
SelectObject(hPen);
PolyLine(x,y);
}
DeleteObject(hPen);
とできますが、もし線分上の1点でも拾えば・・・という条件
ならば
for (i=x1,j=(x2-x1)/(y2-y1);i<=x2;i++)
{
if (!(i % j) & i) j++;
if (i>=X1 && i<=X2 && j>=Y1 && j<=Y2)
{
hPen=CreatePen(PS_SOLID,1,反転色値);
SelectObject(hPen);
PolyLine(x,y);
}
else
{
hPen=CreatePen(PS_SOLID,1,標準色値);
SelectObject(hPen);
PolyLine(x,y);
}
DeleteObject(hPen);
}
でした。
No.2
- 回答日時:
#1です。
すみません勘違いでした。
その線分 (x1,y2)-(x2,y2) の始終点座標(x,y)は分かっているものとすれば、
ドラッグ範囲 (X1,Y1)-(X2,Y2) において
if (x>=X1 && x<=X2 && y>=Y1 && y<=Y2)
{
hPen=CreatePen(PS_SOLID,1,標準色値);
SelectObject(hPen);
PolyLine(x,y);
}
else
{
hPen=CreatePen(PS_SOLID,1,反転色値);
SelectObject(hPen);
PolyLine(x,y);
}
DeleteObject(hPen);
とできますが、もし線分上の1点でも拾えば・・・という条件
ならば
for (i=x1,j=(x2-x1)/(y2-y1);i<=x2;i++)
{
if (!(i % j) & i) j++;
if (i>=X1 && i<=X2 && j>=Y1 && j<=Y2)
{
hPen=CreatePen(PS_SOLID,1,標準色値);
SelectObject(hPen);
PolyLine(x,y);
}
else
{
hPen=CreatePen(PS_SOLID,1,反転色値);
SelectObject(hPen);
PolyLine(x,y);
}
DeleteObject(hPen);
}
でしょうか。
No.1
- 回答日時:
線分(X1,Y1)-(X2,Y2) のおいて
CreatePen関数で作成した標準色ペンを適用し
PolyLine関数で、
(X1+1,Y1)-(X2-1,Y1)
(X2,Y1+1)-(X2,Y2-1)
(X2-1,Y2)-(X+1,Y2)
(X1,Y2-1)-(X1,Y1+1)
の順で線画して
次に
CreatePen関数で作成した反転色(標準色 XOR 0xffffffff)ペンを
適用し
PolyLine関数で、
(X1,Y1)
(X2,Y2)
とやればいきますが・・・。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
グラフの交点の求め方(Excel)
-
以下のプログラムは重心を求め...
-
エクセルで回転する座標の出し方
-
始点、終点の二つの座標と半径...
-
EXCEL VBA でウインドウの...
-
3次元空間上の2つの座標から...
-
Excel VBA で自在に図形を変化...
-
対数表示のグラフを書くには
-
SetWindowOrgとSetViewportOrg...
-
ピクセルの座標を取得するには
-
MATLABの射影変換についての質...
-
マインクラフト(pc版)で座標...
-
18マスの左の方3×3のマス目を自...
-
閉図形の座標の配列が右回りか...
-
C言語 配列で座標
-
OpenGL
-
N88-BASICのグラフィック、図形...
-
画像回転について
-
VBA 図形○を入れる座標の取り方
-
【エクセル・マクロ】座標を回...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
グラフの交点の求め方(Excel)
-
マインクラフト(pc版)で座標...
-
始点、終点の二つの座標と半径...
-
3次元空間上の2つの座標から...
-
エクセルで回転する座標の出し方
-
C言語 配列で座標
-
エクセルである点からの距離で...
-
シーケンサー(PLC?)で制...
-
多角形の内部かどうか判定する方法
-
Excel VBA で自在に図形を変化...
-
最小二乗平面
-
回転する矩形同士の当たり判定...
-
VBで、開いているExcelシートの...
-
ワード上Shapeの位置情報を統一...
-
図形が重なりあっているかどうか
-
C言語で制作するピラミッドアー...
-
ガウシアンフィルタのCプログラム
-
Excel関数で指定範囲内に有るか...
-
3次元座標上の2直線の交点判...
-
ダイアログ内コントロールの位...
おすすめ情報