×

Loading...
Ad by
  • 最优利率和cashback可以申请特批,好信用好收入offer更好。请点链接扫码加微信咨询,Scotiabank -- Nick Zhang 6478812600。
Ad by
  • 最优利率和cashback可以申请特批,好信用好收入offer更好。请点链接扫码加微信咨询,Scotiabank -- Nick Zhang 6478812600。

坛子上没有人知道吗?我把问题描述的再详细点.

我写的是一个象棋程序. 是基于VC#.NET WINDOWS 程序.

在程序中用到三个类:PictureBox,ImageList 和Graphic
在设计的时候,我在PictureBox 里加一个象棋棋盘的背景图片.以及把各个
棋子的位图文件添加到imagelist 中.
在程序代码中,我是把imageList 中的IMAGE 显示到PICTUREBOX 中
以下是一些显示位图的代码:

myGraphics = Graphics.FromHwnd(pictureBox1.Handle );
myGraphics.DrawImage(imageList1.Images[board[i,j]],board_position[i,j].X,board_position[i,j].Y);

其中myGraphics 是属于GRAPHICS 类.



现在是希望设置当前的DRAWIMG MODE 为 XOR ,这样当再次调用DrawImage 的时候,就可以清除图像.

找了很久没找到相关的API,由此怀疑.NET 目前可能还不支持.
假设说如果.NET 没有直接支持,大家有没有什么好的建议.
Report

Replies, comments and Discussions:

  • 工作学习 / IT技术讨论 / 有没有人知道,在DOT NET 里如何以异或方式显示位图?
    原先有一副位图显示在PICTURE BOX 里.
    用鼠标拖动该位图,在位图移动的过程中,不破坏PICTUREBOX 里背景图像,那么想用异或的方式把原来的位图清除。
    但是找了半天,没找到相关的API。
    • Try interoperate with GDI. (pInvokation)...
      http://www.dotnet247.com/247reference/msgs/9/47250.aspx
      • 我的程序使用的是GDI+ API 显示位图,SETROP2 不起作用.
        我用的是Graphics 对象中 DrawImage 方法显示位图.
    • 坛子上没有人知道吗?我把问题描述的再详细点.
      我写的是一个象棋程序. 是基于VC#.NET WINDOWS 程序.

      在程序中用到三个类:PictureBox,ImageList 和Graphic
      在设计的时候,我在PictureBox 里加一个象棋棋盘的背景图片.以及把各个
      棋子的位图文件添加到imagelist 中.
      在程序代码中,我是把imageList 中的IMAGE 显示到PICTUREBOX 中
      以下是一些显示位图的代码:

      myGraphics = Graphics.FromHwnd(pictureBox1.Handle );
      myGraphics.DrawImage(imageList1.Images[board[i,j]],board_position[i,j].X,board_position[i,j].Y);

      其中myGraphics 是属于GRAPHICS 类.



      现在是希望设置当前的DRAWIMG MODE 为 XOR ,这样当再次调用DrawImage 的时候,就可以清除图像.

      找了很久没找到相关的API,由此怀疑.NET 目前可能还不支持.
      假设说如果.NET 没有直接支持,大家有没有什么好的建议.
      • 恐怕要直接调用windows api。这个可能对你用帮助。