使用矩阵变换会影响从像素[]逐像素复制吗?如果是,怎么做?(在Processing/Java中)

使用矩阵变换会影响从像素[]逐像素复制吗?如果是,怎么做?(在Processing/Java中),java,matrix,processing,transformation,pixels,Java,Matrix,Processing,Transformation,Pixels,我正在使用Processing并在for循环中将像素[]数组逐像素复制到PGraphics对象 我对使用pushMatrix()和popMatrix()以及一些转换感兴趣,但是我找不到关于translate()、rotate()和scale()函数如何影响像素[]数组的组织方式的任何信息 另外,在我能找到的信息中,它说推动矩阵,然后绘制,然后弹出矩阵回到其原始状态。我很好奇,如果一个像素一个像素地复制,会不会算作绘画。我知道image()会受到影响,但还有什么?我在哪里可以找到清单?矩阵变换会影

我正在使用Processing并在for循环中将像素[]数组逐像素复制到PGraphics对象

我对使用pushMatrix()和popMatrix()以及一些转换感兴趣,但是我找不到关于translate()、rotate()和scale()函数如何影响像素[]数组的组织方式的任何信息

另外,在我能找到的信息中,它说推动矩阵,然后绘制,然后弹出矩阵回到其原始状态。我很好奇,如果一个像素一个像素地复制,会不会算作绘画。我知道image()会受到影响,但还有什么?我在哪里可以找到清单?矩阵变换会影响哪些类型的像素绘制和编辑


谢谢

如果要将图像渲染到PGraphics实例中,无需逐像素手动访问
像素[]
阵列

请注意,PGraphics提供了可以考虑先前变换(平移/旋转/缩放)的功能

以下是一个基本示例:

PImage testImage;
PGraphics buffer;

void setup(){
  size(400,400);

  testImage = createImage(100,100,RGB);
  //make some noise
  for(int i = 0; i < testImage.pixels.length; i++){
    testImage.pixels[i] = color(random(255),random(255),random(255));
  }
  testImage.updatePixels();

  //setup PGraphics
  buffer = createGraphics(width,height);
  buffer.beginDraw();
  //apply localised transformations
  buffer.pushMatrix();
    buffer.translate(width / 2, height / 2);
    buffer.rotate(radians(45));
    buffer.scale(1.5);
    //render transformed image 
    buffer.image(testImage,0,0);
  buffer.popMatrix();

  //draw the image with no transformations
  buffer.image(testImage,0,0);
  buffer.endDraw();
}
void draw(){
  image(buffer,0,0);
}
PImage测试图像;
图形缓冲区;
无效设置(){
尺寸(400400);
testImage=createImage(100100,RGB);
//制造一些噪音
对于(int i=0;i