We are about to switch to a new forum software. Until then we have removed the registration on this forum.
Hi Processing Forums.
I've recreated a problem I'm experiencing in a more complex, long and messy code I have.
I need to add a "filter" to the image I'm receiving from my camera, and export the processed image as jpg. I'm using PGraphics in the following code. I've been using a big PImage[] array, with no success.
// Some sample code for exporting a filtered jpg out of a live stream import processing.video.*; Capture cam; PGraphics pg; void setup() { size(640, 480); pg = createGraphics(width, height); cam = new Capture(this, width, height, "/dev/video0"); cam.start(); } void draw() { if (cam.available() == true) { cam.read(); } image(cam, 0, 0, width, height); } void keyPressed() { switch (key) { case ' ': // ADD FRAME filterBlue(); break; case 'm': // ADD FRAME filterRed(); break; } } void filterBlue(){ tint(0, 0, 255); pg.image(cam, 0, 0, width, height); pg.save("blue.jpg"); } void filterRed(){ tint(255, 0, 0); pg.image(cam, 0, 0, width, height); pg.save("red.jpg"); }
Where did I lost? Any help is appreciated.
Thanks in advance- d
Answers
You're mixing up the main canvas and another PGraphics. You are using tint without pg. so it doesn't affect the PGraphics and you are also using PGraphics without begin/endDraw, which it should always have. So this code is incorrect. Instead you probably want to use begin/endDraw and pg.tint();
thanks amnon. So I'll test with