Project1

标题: 请问如何获取Sprite旋转后的图像 [打印本页]

作者: 7408    时间: 2014-12-21 18:20
标题: 请问如何获取Sprite旋转后的图像
Um..不知是不是本人又孤陋寡闻了 还望各位不吝赐教~
直接改Sprite的angle旋转的图片能用什么方法获取吗?或者blt到一张位图上?
..能否从内存中拉取旋转后的图片?(<==对了 请问怎么在内存中找到游戏里的东西?是该用RtlMoveMemory吗?)
作者: taroxd    时间: 2014-12-21 18:30
本帖最后由 taroxd 于 2014-12-21 18:32 编辑

不常使用的话,一个一个 get_pixel 即可

想要直接操作内存的话,Bitmap 在内存中的位置如下(感谢远古的大神):
CPP 代码复制
  1. // 每个 pixel 都是 0xaarrggbb 格式的。这里偷懒都用 DWORD
  2. class Bitmap
  3. {
  4. public:
  5.  
  6.         Bitmap(const DWORD object_id)
  7.         {
  8.                 m_pixel = ((DWORD ****)(object_id * 2))[4][2][4];
  9.                 m_size = ((DWORD ****)(object_id * 2))[4][2][2];
  10.         }
  11.  
  12.         ~Bitmap()
  13.         {
  14.         }
  15.  
  16.         DWORD width()  const { return m_size[1]; }
  17.         DWORD height() const { return m_size[2]; }
  18.  
  19.         DWORD * pixel(const int x, const int y) const { return m_pixel + (height() - y - 1) * width() + x; }
  20.  
  21.         DWORD * begin() const { return m_pixel; }
  22.         DWORD * end() const { return m_pixel + width() * height(); }
  23.  
  24. private:
  25.         DWORD * m_size;
  26.         DWORD * m_pixel;
  27. };






欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1