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