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)
とやればいきますが・・・。
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.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);
}
でした。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルVBA 作業後に選択範囲を解除する方法 5 2023/02/17 07:13
- Excel(エクセル) エクセル 条件に合う日付に入力された時間数の合計したい 4 2022/06/17 22:18
- Excel(エクセル) エクセルの関数で質問です。 3 2023/02/24 14:07
- Excel(エクセル) エクセルの数式について教えてください。 1 2023/03/21 09:46
- 運転免許・教習所 車線変更時の目視についてよろしくお願いします。 前の車からタントに乗り換えました。助手席に夫が乗る時 8 2023/07/31 11:12
- リフォーム・リノベーション 赤外線センサーは窓を透過して反応しますか 8 2023/01/16 15:31
- 数学 重積分、累次積分の問題です。 範囲の書き換えがわかりません。 グラフを書いてみるとこのような範囲にな 4 2023/01/09 16:05
- 電気・ガス・水道 ブレーカーが落ちない電化製品の使い方についておしえてください。 6 2023/05/08 10:29
- その他(交通機関・地図) 交通ルールの法令について。 ①自動車が優先道路(法定速度50キロ)を走行中、信号機のない見通しの悪い 3 2023/06/07 11:19
- Excel(エクセル) VBAでの質問です。ある特定の範囲に入力をしたいのですが。 2 2022/04/12 21:13
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
グラフの交点の求め方(Excel)
-
c言語でキーボードから2点の座...
-
交差する2線分の交点座標の求め方
-
MATLABの画像処理、2本の直線の...
-
マインクラフト(pc版)で座標...
-
ガウシアンフィルタのCプログラム
-
回転する矩形同士の当たり判定...
-
位置座標からx軸となす角度(ラ...
-
エクセルである点からの距離で...
-
ピクチャボックスの座標取得
-
虚数は我々日常生活の身近なと...
-
Excel VBA ・・・教えてください
-
始点、終点の二つの座標と半径...
-
プログラミングの問題について...
-
visualbasic でform上に正三角...
-
画像回転について
-
C アルゴリズム(モンテカルロ法)
-
スクリーン座標からワールド座...
-
重力の計算
-
PPTのVBA スライド右下端の座...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
グラフの交点の求め方(Excel)
-
マインクラフト(pc版)で座標...
-
エクセルで回転する座標の出し方
-
エクセルである点からの距離で...
-
3次元空間上の2つの座標から...
-
閉図形の座標の配列が右回りか...
-
ダイアログ内コントロールの位...
-
始点、終点の二つの座標と半径...
-
座標を持った平面範囲に座標を...
-
空間上の二点を結ぶ直線上に任...
-
エクセルシート上のマウスポイ...
-
多角形の内部かどうか判定する方法
-
ワード上Shapeの位置情報を統一...
-
Excel VBA で自在に図形を変化...
-
OpenCvSharp4による画像判定解...
-
C言語 配列で座標
-
シーケンサー(PLC?)で制...
-
以下のプログラムは重心を求め...
-
交差する2線分の交点座標の求め方
-
VB6のPrinter.ScaleWidth に対...
おすすめ情報