简体   繁体   English

从像素读取字节-libGDX

[英]Read bytes from pixels - libGDX

H ow can I convert given Pixmap into byte array ? ^ h流量可以转换我给Pixmap成字节数组?

byte[] bytes = Gdx.files.internal("image.png").readBytes();

// pass the correct bytes into pixmap
Pixmap pixmap = new Pixmap(bytes, 0, bytes.length);

byte[] sameBytes = new byte[SIZE];
int count = 0;
for (int x = 0; x < pixmap.getWidth(); x++) {
     for (int y = 0; y < pixmap.getHeight(); y++) {
          int pixel = pixmap.getPixel(x, y);

          sameBytes[count++] = ((pixel >> 24) & 0xff);
          sameBytes[count++] = ((pixel >> 16) & 0xff);
          sameBytes[count++] = ((pixel >>  8) & 0xff);
          sameBytes[count++] = ((pixel      ) & 0xff);
     }
}

// sameBytes is not correct bytes into pixmap
Pixmap pixmap = new Pixmap(sameBytes, 0, sameBytes.length);

Couldn't load pixmap from image data 无法从图像数据加载像素图

Perhaps this might work 也许这可能有效

for (int x = 0; x < pixmap.getWidth(); x++) {
  for (int y = 0; y < pixmap.getHeight(); y++)
    int pixel = pixmap.getPixel(x, y);
    sameBytes[count++] = ((pixel & 0xff000000) >>> 24);
    sameBytes[count++] = ((pixel & 0x00ff0000) >>> 16);
    sameBytes[count++] = ((pixel & 0x0000ff00) >>> 8);
    sameBytes[count++] = ((pixel & 0x000000ff));
  }
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM