C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

■103047 / 2階層)  反転カラーの使い方
□投稿者/ ぴーよ (3回)-(2024/04/07(Sun) 12:17:58)
ありがとうございます。

こういうことでしょうか?

Dim hDC As IntPtr = g.GetHdc()

'Dim Pen As IntPtr = CreatePen(CType(ds, PenStyle), pWidth, ReversibleColor)

Dim oldROP As Integer = SetROP2(hDC, BinaryRasterOperations.R2_NOT)
' Dim oldROP As Integer = SetROP2(hDC, BinaryRasterOperations.R2_XORPEN)

' Dim oldROP As Integer = SetROP2(hDC, BinaryRasterOperations.R2_NOTXORPEN)


Dim oldPen As IntPtr = SelectObject(hDC, GetStockObject(StockObjects.BLACK_PEN))
Dim oldBrush As IntPtr = SelectObject(hDC, GetStockObject(StockObjects.BLACK_BRUSH))

SetBkColor(hDC, ReversibleBackColor)

MoveToEx(hDC, x1, y1, IntPtr.Zero)
LineTo(hDC, x2, y2)

SelectObject(hDC, oldPen)
SelectObject(hDC, oldBrush)
SetROP2(hDC, oldROP)
'DeleteObject(Pen)

g.ReleaseHdc(hDC)



Dim oldROP As Integer = SetROP2(hDC, BinaryRasterOperations.R2_NOT)
だとグレーのラインが描画されるのですが反転はされません。
また、ラインの太さが1ptになってしまいます。
Dim oldROP As Integer = SetROP2(hDC, BinaryRasterOperations.R2_XORPEN)
だと何もラインが描画されません。


Format32bppRgb
Format24bppRgb
Format32bppArgb
Format32bppPArgb

と試してみましたが、いずれも結果は変わりませんでした。

どのようにしたら良いでしょうか?


編集キー/

前の記事(元になった記事) 次の記事(この記事の返信)
←Re[1]: 反転カラーの使い方 /とっちゃん →Re[3]: 反転カラーの使い方 /KOZ
 
上記関連ツリー

反転カラーの使い方 / ぴーよ (24/04/06(Sat) 13:07) #103043
Re[1]: 反転カラーの使い方 / ぴーよ (24/04/06(Sat) 17:46) #103045
│└ Re[2]: 反転カラーの使い方 / とっちゃん (24/04/06(Sat) 21:29) #103046
Re[1]: 反転カラーの使い方 / とっちゃん (24/04/06(Sat) 16:17) #103044
  └ 反転カラーの使い方 / ぴーよ (24/04/07(Sun) 12:17) #103047 ←Now
    └ Re[3]: 反転カラーの使い方 / KOZ (24/04/07(Sun) 18:42) #103048
      └ Re[4]: 反転カラーの使い方 / ぴーよ (24/04/08(Mon) 20:51) #103049
        └ Re[5]: 反転カラーの使い方 / KOZ (24/04/08(Mon) 22:17) #103050
          └ Re[6]: 反転カラーの使い方 / ぴーよ (24/04/09(Tue) 11:33) #103051 解決済み

上記ツリーを一括表示 / 上記ツリーをトピック表示
 
上記の記事へ返信