<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <!--NewPage--> <HTML> <HEAD> <TITLE> PImage </TITLE> <META NAME="keywords" CONTENT="processing.core.PImage class"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../stylesheet.css" TITLE="Style"> <SCRIPT type="text/javascript"> function windowTitle() { parent.document.title="PImage"; } </SCRIPT> <NOSCRIPT> </NOSCRIPT> </HEAD> <BODY BGCOLOR="white" onload="windowTitle();"> <!-- ========= START OF TOP NAVBAR ======= --> <A NAME="navbar_top"><!-- --></A> <A HREF="#skip-navbar_top" title="Skip navigation links"></A> <TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> <TR> <TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A NAME="navbar_top_firstrow"><!-- --></A> <TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> <TR ALIGN="center" VALIGN="top"> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD> <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> </TR> </TABLE> </TD> <TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> </EM> </TD> </TR> <TR> <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> <A HREF="../../processing/core/PGraphicsJava2D.html" title="class in processing.core"><B>PREV CLASS</B></A> <A HREF="../../processing/core/PLine.html" title="class in processing.core"><B>NEXT CLASS</B></A></FONT></TD> <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> <A HREF="../../index.html?processing/core/PImage.html" target="_top"><B>FRAMES</B></A> <A HREF="PImage.html" target="_top"><B>NO FRAMES</B></A> <SCRIPT type="text/javascript"> <!-- if(window==top) { document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>'); } //--> </SCRIPT> <NOSCRIPT> <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A> </NOSCRIPT> </FONT></TD> </TR> <TR> <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD> <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD> </TR> </TABLE> <A NAME="skip-navbar_top"></A> <!-- ========= END OF TOP NAVBAR ========= --> <HR> <!-- ======== START OF CLASS DATA ======== --> <H2> <FONT SIZE="-1"> processing.core</FONT> <BR> Class PImage</H2> <PRE> java.lang.Object <IMG SRC="../../resources/inherit.gif" ALT="extended by "><B>processing.core.PImage</B> </PRE> <DL> <DT><B>All Implemented Interfaces:</B> <DD>java.lang.Cloneable, <A HREF="../../processing/core/PConstants.html" title="interface in processing.core">PConstants</A></DD> </DL> <DL> <DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../processing/video/Capture.html" title="class in processing.video">Capture</A>, <A HREF="../../processing/video/Movie.html" title="class in processing.video">Movie</A>, <A HREF="../../processing/core/PGraphics.html" title="class in processing.core">PGraphics</A></DD> </DL> <HR> <DL> <DT><PRE>public class <B>PImage</B><DT>extends java.lang.Object<DT>implements <A HREF="../../processing/core/PConstants.html" title="interface in processing.core">PConstants</A>, java.lang.Cloneable</DL> </PRE> <P> Storage class for pixel data. This is the base class for most image and pixel information, such as PGraphics and the video library classes. <P> Code for copying, resizing, scaling, and blending contributed by <A HREF="http://www.toxi.co.uk">toxi</A>. <P> <P> <P> <HR> <P> <!-- =========== FIELD SUMMARY =========== --> <A NAME="field_summary"><!-- --></A> <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> <TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> <B>Field Summary</B></FONT></TH> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> int</CODE></FONT></TD> <TD><CODE><B><A HREF="../../processing/core/PImage.html#format">format</A></B></CODE> <BR> Format for this image, one of RGB, ARGB or ALPHA.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> int</CODE></FONT></TD> <TD><CODE><B><A HREF="../../processing/core/PImage.html#height">height</A></B></CODE> <BR> </TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> <A HREF="../../processing/core/PApplet.html" title="class in processing.core">PApplet</A></CODE></FONT></TD> <TD><CODE><B><A HREF="../../processing/core/PImage.html#parent">parent</A></B></CODE> <BR> Path to parent object that will be used with save().</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> int[]</CODE></FONT></TD> <TD><CODE><B><A HREF="../../processing/core/PImage.html#pixels">pixels</A></B></CODE> <BR> </TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> int</CODE></FONT></TD> <TD><CODE><B><A HREF="../../processing/core/PImage.html#width">width</A></B></CODE> <BR> </TD> </TR> </TABLE> <A NAME="fields_inherited_from_class_processing.core.PConstants"><!-- --></A> <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> <TH ALIGN="left"><B>Fields inherited from interface processing.core.<A HREF="../../processing/core/PConstants.html" title="interface in processing.core">PConstants</A></B></TH> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD><CODE><A HREF="../../processing/core/PConstants.html#A">A</A>, <A HREF="../../processing/core/PConstants.html#AB">AB</A>, <A HREF="../../processing/core/PConstants.html#ADD">ADD</A>, <A HREF="../../processing/core/PConstants.html#AG">AG</A>, <A HREF="../../processing/core/PConstants.html#ALPHA">ALPHA</A>, <A HREF="../../processing/core/PConstants.html#ALPHA_MASK">ALPHA_MASK</A>, <A HREF="../../processing/core/PConstants.html#ALT">ALT</A>, <A HREF="../../processing/core/PConstants.html#AMBIENT">AMBIENT</A>, <A HREF="../../processing/core/PConstants.html#AR">AR</A>, <A HREF="../../processing/core/PConstants.html#ARC">ARC</A>, <A HREF="../../processing/core/PConstants.html#ARGB">ARGB</A>, <A HREF="../../processing/core/PConstants.html#ARROW">ARROW</A>, <A HREF="../../processing/core/PConstants.html#B">B</A>, <A HREF="../../processing/core/PConstants.html#BACKSPACE">BACKSPACE</A>, <A HREF="../../processing/core/PConstants.html#BASELINE">BASELINE</A>, <A HREF="../../processing/core/PConstants.html#BEEN_LIT">BEEN_LIT</A>, <A HREF="../../processing/core/PConstants.html#BEVEL">BEVEL</A>, <A HREF="../../processing/core/PConstants.html#BLEND">BLEND</A>, <A HREF="../../processing/core/PConstants.html#BLUE_MASK">BLUE_MASK</A>, <A HREF="../../processing/core/PConstants.html#BLUR">BLUR</A>, <A HREF="../../processing/core/PConstants.html#BOTTOM">BOTTOM</A>, <A HREF="../../processing/core/PConstants.html#BOX">BOX</A>, <A HREF="../../processing/core/PConstants.html#BURN">BURN</A>, <A HREF="../../processing/core/PConstants.html#CENTER">CENTER</A>, <A HREF="../../processing/core/PConstants.html#CENTER_DIAMETER">CENTER_DIAMETER</A>, <A HREF="../../processing/core/PConstants.html#CENTER_RADIUS">CENTER_RADIUS</A>, <A HREF="../../processing/core/PConstants.html#CHATTER">CHATTER</A>, <A HREF="../../processing/core/PConstants.html#CLOSE">CLOSE</A>, <A HREF="../../processing/core/PConstants.html#CMYK">CMYK</A>, <A HREF="../../processing/core/PConstants.html#CODED">CODED</A>, <A HREF="../../processing/core/PConstants.html#COMPLAINT">COMPLAINT</A>, <A HREF="../../processing/core/PConstants.html#CONTROL">CONTROL</A>, <A HREF="../../processing/core/PConstants.html#CORNER">CORNER</A>, <A HREF="../../processing/core/PConstants.html#CORNERS">CORNERS</A>, <A HREF="../../processing/core/PConstants.html#CROSS">CROSS</A>, <A HREF="../../processing/core/PConstants.html#CUSTOM">CUSTOM</A>, <A HREF="../../processing/core/PConstants.html#DA">DA</A>, <A HREF="../../processing/core/PConstants.html#DARKEST">DARKEST</A>, <A HREF="../../processing/core/PConstants.html#DB">DB</A>, <A HREF="../../processing/core/PConstants.html#DEG_TO_RAD">DEG_TO_RAD</A>, <A HREF="../../processing/core/PConstants.html#DELETE">DELETE</A>, <A HREF="../../processing/core/PConstants.html#DG">DG</A>, <A HREF="../../processing/core/PConstants.html#DIAMETER">DIAMETER</A>, <A HREF="../../processing/core/PConstants.html#DIFFERENCE">DIFFERENCE</A>, <A HREF="../../processing/core/PConstants.html#DILATE">DILATE</A>, <A HREF="../../processing/core/PConstants.html#DIRECTIONAL">DIRECTIONAL</A>, <A HREF="../../processing/core/PConstants.html#DISABLE_ACCURATE_TEXTURES">DISABLE_ACCURATE_TEXTURES</A>, <A HREF="../../processing/core/PConstants.html#DISABLE_DEPTH_SORT">DISABLE_DEPTH_SORT</A>, <A HREF="../../processing/core/PConstants.html#DISABLE_DEPTH_TEST">DISABLE_DEPTH_TEST</A>, <A HREF="../../processing/core/PConstants.html#DISABLE_OPENGL_2X_SMOOTH">DISABLE_OPENGL_2X_SMOOTH</A>, <A HREF="../../processing/core/PConstants.html#DISABLE_OPENGL_ERROR_REPORT">DISABLE_OPENGL_ERROR_REPORT</A>, <A HREF="../../processing/core/PConstants.html#DODGE">DODGE</A>, <A HREF="../../processing/core/PConstants.html#DOWN">DOWN</A>, <A HREF="../../processing/core/PConstants.html#DR">DR</A>, <A HREF="../../processing/core/PConstants.html#DXF">DXF</A>, <A HREF="../../processing/core/PConstants.html#EB">EB</A>, <A HREF="../../processing/core/PConstants.html#EDGE">EDGE</A>, <A HREF="../../processing/core/PConstants.html#EG">EG</A>, <A HREF="../../processing/core/PConstants.html#ELLIPSE">ELLIPSE</A>, <A HREF="../../processing/core/PConstants.html#ENABLE_ACCURATE_TEXTURES">ENABLE_ACCURATE_TEXTURES</A>, <A HREF="../../processing/core/PConstants.html#ENABLE_DEPTH_SORT">ENABLE_DEPTH_SORT</A>, <A HREF="../../processing/core/PConstants.html#ENABLE_DEPTH_TEST">ENABLE_DEPTH_TEST</A>, <A HREF="../../processing/core/PConstants.html#ENABLE_NATIVE_FONTS">ENABLE_NATIVE_FONTS</A>, <A HREF="../../processing/core/PConstants.html#ENABLE_OPENGL_2X_SMOOTH">ENABLE_OPENGL_2X_SMOOTH</A>, <A HREF="../../processing/core/PConstants.html#ENABLE_OPENGL_4X_SMOOTH">ENABLE_OPENGL_4X_SMOOTH</A>, <A HREF="../../processing/core/PConstants.html#ENABLE_OPENGL_ERROR_REPORT">ENABLE_OPENGL_ERROR_REPORT</A>, <A HREF="../../processing/core/PConstants.html#ENTER">ENTER</A>, <A HREF="../../processing/core/PConstants.html#EPSILON">EPSILON</A>, <A HREF="../../processing/core/PConstants.html#ER">ER</A>, <A HREF="../../processing/core/PConstants.html#ERODE">ERODE</A>, <A HREF="../../processing/core/PConstants.html#ERROR_BACKGROUND_IMAGE_FORMAT">ERROR_BACKGROUND_IMAGE_FORMAT</A>, <A HREF="../../processing/core/PConstants.html#ERROR_BACKGROUND_IMAGE_SIZE">ERROR_BACKGROUND_IMAGE_SIZE</A>, <A HREF="../../processing/core/PConstants.html#ERROR_PUSHMATRIX_OVERFLOW">ERROR_PUSHMATRIX_OVERFLOW</A>, <A HREF="../../processing/core/PConstants.html#ERROR_PUSHMATRIX_UNDERFLOW">ERROR_PUSHMATRIX_UNDERFLOW</A>, <A HREF="../../processing/core/PConstants.html#ERROR_TEXTFONT_NULL_PFONT">ERROR_TEXTFONT_NULL_PFONT</A>, <A HREF="../../processing/core/PConstants.html#ESC">ESC</A>, <A HREF="../../processing/core/PConstants.html#EXCLUSION">EXCLUSION</A>, <A HREF="../../processing/core/PConstants.html#G">G</A>, <A HREF="../../processing/core/PConstants.html#GIF">GIF</A>, <A HREF="../../processing/core/PConstants.html#GRAY">GRAY</A>, <A HREF="../../processing/core/PConstants.html#GREEN_MASK">GREEN_MASK</A>, <A HREF="../../processing/core/PConstants.html#HALF_PI">HALF_PI</A>, <A HREF="../../processing/core/PConstants.html#HAND">HAND</A>, <A HREF="../../processing/core/PConstants.html#HARD_LIGHT">HARD_LIGHT</A>, <A HREF="../../processing/core/PConstants.html#HINT_COUNT">HINT_COUNT</A>, <A HREF="../../processing/core/PConstants.html#HSB">HSB</A>, <A HREF="../../processing/core/PConstants.html#IMAGE">IMAGE</A>, <A HREF="../../processing/core/PConstants.html#INVERT">INVERT</A>, <A HREF="../../processing/core/PConstants.html#JAVA2D">JAVA2D</A>, <A HREF="../../processing/core/PConstants.html#JPEG">JPEG</A>, <A HREF="../../processing/core/PConstants.html#LEFT">LEFT</A>, <A HREF="../../processing/core/PConstants.html#LIGHTEST">LIGHTEST</A>, <A HREF="../../processing/core/PConstants.html#LINE">LINE</A>, <A HREF="../../processing/core/PConstants.html#LINES">LINES</A>, <A HREF="../../processing/core/PConstants.html#LINUX">LINUX</A>, <A HREF="../../processing/core/PConstants.html#MACOSX">MACOSX</A>, <A HREF="../../processing/core/PConstants.html#MAX_FLOAT">MAX_FLOAT</A>, <A HREF="../../processing/core/PConstants.html#MAX_INT">MAX_INT</A>, <A HREF="../../processing/core/PConstants.html#MIN_FLOAT">MIN_FLOAT</A>, <A HREF="../../processing/core/PConstants.html#MIN_INT">MIN_INT</A>, <A HREF="../../processing/core/PConstants.html#MITER">MITER</A>, <A HREF="../../processing/core/PConstants.html#MODEL">MODEL</A>, <A HREF="../../processing/core/PConstants.html#MOVE">MOVE</A>, <A HREF="../../processing/core/PConstants.html#MULTIPLY">MULTIPLY</A>, <A HREF="../../processing/core/PConstants.html#NORMAL">NORMAL</A>, <A HREF="../../processing/core/PConstants.html#NORMALIZED">NORMALIZED</A>, <A HREF="../../processing/core/PConstants.html#NX">NX</A>, <A HREF="../../processing/core/PConstants.html#NY">NY</A>, <A HREF="../../processing/core/PConstants.html#NZ">NZ</A>, <A HREF="../../processing/core/PConstants.html#OPAQUE">OPAQUE</A>, <A HREF="../../processing/core/PConstants.html#OPEN">OPEN</A>, <A HREF="../../processing/core/PConstants.html#OPENGL">OPENGL</A>, <A HREF="../../processing/core/PConstants.html#ORTHOGRAPHIC">ORTHOGRAPHIC</A>, <A HREF="../../processing/core/PConstants.html#OTHER">OTHER</A>, <A HREF="../../processing/core/PConstants.html#OVERLAY">OVERLAY</A>, <A HREF="../../processing/core/PConstants.html#P2D">P2D</A>, <A HREF="../../processing/core/PConstants.html#P3D">P3D</A>, <A HREF="../../processing/core/PConstants.html#PATH">PATH</A>, <A HREF="../../processing/core/PConstants.html#PDF">PDF</A>, <A HREF="../../processing/core/PConstants.html#PERSPECTIVE">PERSPECTIVE</A>, <A HREF="../../processing/core/PConstants.html#PI">PI</A>, <A HREF="../../processing/core/PConstants.html#platformNames">platformNames</A>, <A HREF="../../processing/core/PConstants.html#POINT">POINT</A>, <A HREF="../../processing/core/PConstants.html#POINTS">POINTS</A>, <A HREF="../../processing/core/PConstants.html#POLYGON">POLYGON</A>, <A HREF="../../processing/core/PConstants.html#POSTERIZE">POSTERIZE</A>, <A HREF="../../processing/core/PConstants.html#PROBLEM">PROBLEM</A>, <A HREF="../../processing/core/PConstants.html#PROJECT">PROJECT</A>, <A HREF="../../processing/core/PConstants.html#QUAD">QUAD</A>, <A HREF="../../processing/core/PConstants.html#QUAD_STRIP">QUAD_STRIP</A>, <A HREF="../../processing/core/PConstants.html#QUADS">QUADS</A>, <A HREF="../../processing/core/PConstants.html#QUARTER_PI">QUARTER_PI</A>, <A HREF="../../processing/core/PConstants.html#R">R</A>, <A HREF="../../processing/core/PConstants.html#RAD_TO_DEG">RAD_TO_DEG</A>, <A HREF="../../processing/core/PConstants.html#RADIUS">RADIUS</A>, <A HREF="../../processing/core/PConstants.html#RECT">RECT</A>, <A HREF="../../processing/core/PConstants.html#RED_MASK">RED_MASK</A>, <A HREF="../../processing/core/PConstants.html#REPLACE">REPLACE</A>, <A HREF="../../processing/core/PConstants.html#RETURN">RETURN</A>, <A HREF="../../processing/core/PConstants.html#RGB">RGB</A>, <A HREF="../../processing/core/PConstants.html#RIGHT">RIGHT</A>, <A HREF="../../processing/core/PConstants.html#ROUND">ROUND</A>, <A HREF="../../processing/core/PConstants.html#SA">SA</A>, <A HREF="../../processing/core/PConstants.html#SB">SB</A>, <A HREF="../../processing/core/PConstants.html#SCREEN">SCREEN</A>, <A HREF="../../processing/core/PConstants.html#SG">SG</A>, <A HREF="../../processing/core/PConstants.html#SHAPE">SHAPE</A>, <A HREF="../../processing/core/PConstants.html#SHIFT">SHIFT</A>, <A HREF="../../processing/core/PConstants.html#SHINE">SHINE</A>, <A HREF="../../processing/core/PConstants.html#SOFT_LIGHT">SOFT_LIGHT</A>, <A HREF="../../processing/core/PConstants.html#SPB">SPB</A>, <A HREF="../../processing/core/PConstants.html#SPG">SPG</A>, <A HREF="../../processing/core/PConstants.html#SPHERE">SPHERE</A>, <A HREF="../../processing/core/PConstants.html#SPOT">SPOT</A>, <A HREF="../../processing/core/PConstants.html#SPR">SPR</A>, <A HREF="../../processing/core/PConstants.html#SQUARE">SQUARE</A>, <A HREF="../../processing/core/PConstants.html#SR">SR</A>, <A HREF="../../processing/core/PConstants.html#SUBTRACT">SUBTRACT</A>, <A HREF="../../processing/core/PConstants.html#SW">SW</A>, <A HREF="../../processing/core/PConstants.html#TAB">TAB</A>, <A HREF="../../processing/core/PConstants.html#TARGA">TARGA</A>, <A HREF="../../processing/core/PConstants.html#TEXT">TEXT</A>, <A HREF="../../processing/core/PConstants.html#THIRD_PI">THIRD_PI</A>, <A HREF="../../processing/core/PConstants.html#THRESHOLD">THRESHOLD</A>, <A HREF="../../processing/core/PConstants.html#TIFF">TIFF</A>, <A HREF="../../processing/core/PConstants.html#TOP">TOP</A>, <A HREF="../../processing/core/PConstants.html#TRIANGLE">TRIANGLE</A>, <A HREF="../../processing/core/PConstants.html#TRIANGLE_FAN">TRIANGLE_FAN</A>, <A HREF="../../processing/core/PConstants.html#TRIANGLE_STRIP">TRIANGLE_STRIP</A>, <A HREF="../../processing/core/PConstants.html#TRIANGLES">TRIANGLES</A>, <A HREF="../../processing/core/PConstants.html#TWO_PI">TWO_PI</A>, <A HREF="../../processing/core/PConstants.html#TX">TX</A>, <A HREF="../../processing/core/PConstants.html#TY">TY</A>, <A HREF="../../processing/core/PConstants.html#TZ">TZ</A>, <A HREF="../../processing/core/PConstants.html#U">U</A>, <A HREF="../../processing/core/PConstants.html#UP">UP</A>, <A HREF="../../processing/core/PConstants.html#V">V</A>, <A HREF="../../processing/core/PConstants.html#VERTEX_FIELD_COUNT">VERTEX_FIELD_COUNT</A>, <A HREF="../../processing/core/PConstants.html#VW">VW</A>, <A HREF="../../processing/core/PConstants.html#VX">VX</A>, <A HREF="../../processing/core/PConstants.html#VY">VY</A>, <A HREF="../../processing/core/PConstants.html#VZ">VZ</A>, <A HREF="../../processing/core/PConstants.html#WAIT">WAIT</A>, <A HREF="../../processing/core/PConstants.html#WHITESPACE">WHITESPACE</A>, <A HREF="../../processing/core/PConstants.html#WINDOWS">WINDOWS</A>, <A HREF="../../processing/core/PConstants.html#X">X</A>, <A HREF="../../processing/core/PConstants.html#Y">Y</A>, <A HREF="../../processing/core/PConstants.html#Z">Z</A></CODE></TD> </TR> </TABLE> <!-- ======== CONSTRUCTOR SUMMARY ======== --> <A NAME="constructor_summary"><!-- --></A> <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> <TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> <B>Constructor Summary</B></FONT></TH> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD><CODE><B><A HREF="../../processing/core/PImage.html#PImage()">PImage</A></B>()</CODE> <BR> Create an empty image object, set its format to RGB.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD><CODE><B><A HREF="../../processing/core/PImage.html#PImage(java.awt.Image)">PImage</A></B>(java.awt.Image img)</CODE> <BR> Construct a new PImage from a java.awt.Image.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD><CODE><B><A HREF="../../processing/core/PImage.html#PImage(int, int)">PImage</A></B>(int width, int height)</CODE> <BR> Create a new RGB (alpha ignored) image of a specific size.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD><CODE><B><A HREF="../../processing/core/PImage.html#PImage(int, int, int)">PImage</A></B>(int width, int height, int format)</CODE> <BR> </TD> </TR> </TABLE> <!-- ========== METHOD SUMMARY =========== --> <A NAME="method_summary"><!-- --></A> <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> <TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> <B>Method Summary</B></FONT></TH> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> void</CODE></FONT></TD> <TD><CODE><B><A HREF="../../processing/core/PImage.html#blend(int, int, int, int, int, int, int, int, int)">blend</A></B>(int sx, int sy, int sw, int sh, int dx, int dy, int dw, int dh, int mode)</CODE> <BR> Blends one area of this image to another area.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> void</CODE></FONT></TD> <TD><CODE><B><A HREF="../../processing/core/PImage.html#blend(processing.core.PImage, int, int, int, int, int, int, int, int, int)">blend</A></B>(<A HREF="../../processing/core/PImage.html" title="class in processing.core">PImage</A> src, int sx, int sy, int sw, int sh, int dx, int dy, int dw, int dh, int mode)</CODE> <BR> Copies area of one image into another PImage object.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE>static int</CODE></FONT></TD> <TD><CODE><B><A HREF="../../processing/core/PImage.html#blendColor(int, int, int)">blendColor</A></B>(int c1, int c2, int mode)</CODE> <BR> Blend two colors based on a particular mode.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> java.lang.Object</CODE></FONT></TD> <TD><CODE><B><A HREF="../../processing/core/PImage.html#clone()">clone</A></B>()</CODE> <BR> Duplicate an image, returns new PImage object.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> void</CODE></FONT></TD> <TD><CODE><B><A HREF="../../processing/core/PImage.html#copy(int, int, int, int, int, int, int, int)">copy</A></B>(int sx, int sy, int sw, int sh, int dx, int dy, int dw, int dh)</CODE> <BR> Copy things from one area of this image to another area in the same image.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> void</CODE></FONT></TD> <TD><CODE><B><A HREF="../../processing/core/PImage.html#copy(processing.core.PImage, int, int, int, int, int, int, int, int)">copy</A></B>(<A HREF="../../processing/core/PImage.html" title="class in processing.core">PImage</A> src, int sx, int sy, int sw, int sh, int dx, int dy, int dw, int dh)</CODE> <BR> Copies area of one image into another PImage object.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> void</CODE></FONT></TD> <TD><CODE><B><A HREF="../../processing/core/PImage.html#filter(int)">filter</A></B>(int kind)</CODE> <BR> Method to apply a variety of basic filters to this image.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> void</CODE></FONT></TD> <TD><CODE><B><A HREF="../../processing/core/PImage.html#filter(int, float)">filter</A></B>(int kind, float param)</CODE> <BR> Method to apply a variety of basic filters to this image.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> <A HREF="../../processing/core/PImage.html" title="class in processing.core">PImage</A></CODE></FONT></TD> <TD><CODE><B><A HREF="../../processing/core/PImage.html#get()">get</A></B>()</CODE> <BR> Returns a copy of this PImage.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> int</CODE></FONT></TD> <TD><CODE><B><A HREF="../../processing/core/PImage.html#get(int, int)">get</A></B>(int x, int y)</CODE> <BR> Returns an ARGB "color" type (a packed 32 bit int with the color.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> <A HREF="../../processing/core/PImage.html" title="class in processing.core">PImage</A></CODE></FONT></TD> <TD><CODE><B><A HREF="../../processing/core/PImage.html#get(int, int, int, int)">get</A></B>(int x, int y, int w, int h)</CODE> <BR> Grab a subsection of a PImage, and copy it into a fresh PImage.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> java.lang.Object</CODE></FONT></TD> <TD><CODE><B><A HREF="../../processing/core/PImage.html#getCache(java.lang.Object)">getCache</A></B>(java.lang.Object parent)</CODE> <BR> Get cache storage data for the specified renderer.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> java.awt.Image</CODE></FONT></TD> <TD><CODE><B><A HREF="../../processing/core/PImage.html#getImage()">getImage</A></B>()</CODE> <BR> Returns a BufferedImage from this PImage.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> void</CODE></FONT></TD> <TD><CODE><B><A HREF="../../processing/core/PImage.html#init(int, int, int)">init</A></B>(int width, int height, int format)</CODE> <BR> Function to be used by subclasses of PImage to init later than at the constructor, or re-init later when things changes.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> boolean</CODE></FONT></TD> <TD><CODE><B><A HREF="../../processing/core/PImage.html#isModified()">isModified</A></B>()</CODE> <BR> </TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> void</CODE></FONT></TD> <TD><CODE><B><A HREF="../../processing/core/PImage.html#loadPixels()">loadPixels</A></B>()</CODE> <BR> Call this when you want to mess with the pixels[] array.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> void</CODE></FONT></TD> <TD><CODE><B><A HREF="../../processing/core/PImage.html#mask(int[])">mask</A></B>(int[] alpha)</CODE> <BR> Set alpha channel for an image.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> void</CODE></FONT></TD> <TD><CODE><B><A HREF="../../processing/core/PImage.html#mask(processing.core.PImage)">mask</A></B>(<A HREF="../../processing/core/PImage.html" title="class in processing.core">PImage</A> alpha)</CODE> <BR> Set alpha channel for an image using another image as the source.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> void</CODE></FONT></TD> <TD><CODE><B><A HREF="../../processing/core/PImage.html#removeCache(java.lang.Object)">removeCache</A></B>(java.lang.Object parent)</CODE> <BR> Remove information associated with this renderer from the cache, if any.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> void</CODE></FONT></TD> <TD><CODE><B><A HREF="../../processing/core/PImage.html#resize(int, int)">resize</A></B>(int wide, int high)</CODE> <BR> Resize this image to a new width and height.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> void</CODE></FONT></TD> <TD><CODE><B><A HREF="../../processing/core/PImage.html#save(java.lang.String)">save</A></B>(java.lang.String path)</CODE> <BR> Save this image to disk.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> void</CODE></FONT></TD> <TD><CODE><B><A HREF="../../processing/core/PImage.html#set(int, int, int)">set</A></B>(int x, int y, int c)</CODE> <BR> Set a single pixel to the specified color.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> void</CODE></FONT></TD> <TD><CODE><B><A HREF="../../processing/core/PImage.html#set(int, int, processing.core.PImage)">set</A></B>(int x, int y, <A HREF="../../processing/core/PImage.html" title="class in processing.core">PImage</A> src)</CODE> <BR> Efficient method of drawing an image's pixels directly to this surface.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> void</CODE></FONT></TD> <TD><CODE><B><A HREF="../../processing/core/PImage.html#setCache(java.lang.Object, java.lang.Object)">setCache</A></B>(java.lang.Object parent, java.lang.Object storage)</CODE> <BR> Store data of some kind for a renderer that requires extra metadata of some kind.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> void</CODE></FONT></TD> <TD><CODE><B><A HREF="../../processing/core/PImage.html#setModified()">setModified</A></B>()</CODE> <BR> </TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> void</CODE></FONT></TD> <TD><CODE><B><A HREF="../../processing/core/PImage.html#setModified(boolean)">setModified</A></B>(boolean m)</CODE> <BR> </TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> void</CODE></FONT></TD> <TD><CODE><B><A HREF="../../processing/core/PImage.html#updatePixels()">updatePixels</A></B>()</CODE> <BR> Call this when finished messing with the pixels[] array.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> void</CODE></FONT></TD> <TD><CODE><B><A HREF="../../processing/core/PImage.html#updatePixels(int, int, int, int)">updatePixels</A></B>(int x, int y, int w, int h)</CODE> <BR> Mark the pixels in this region as needing an update.</TD> </TR> </TABLE> <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> <TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD><CODE>equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD> </TR> </TABLE> <P> <!-- ============ FIELD DETAIL =========== --> <A NAME="field_detail"><!-- --></A> <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> <TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> <B>Field Detail</B></FONT></TH> </TR> </TABLE> <A NAME="format"><!-- --></A><H3> format</H3> <PRE> public int <B>format</B></PRE> <DL> <DD>Format for this image, one of RGB, ARGB or ALPHA. note that RGB images still require 0xff in the high byte because of how they'll be manipulated by other functions <P> <DL> </DL> </DL> <HR> <A NAME="pixels"><!-- --></A><H3> pixels</H3> <PRE> public int[] <B>pixels</B></PRE> <DL> <DL> </DL> </DL> <HR> <A NAME="width"><!-- --></A><H3> width</H3> <PRE> public int <B>width</B></PRE> <DL> <DL> </DL> </DL> <HR> <A NAME="height"><!-- --></A><H3> height</H3> <PRE> public int <B>height</B></PRE> <DL> <DL> </DL> </DL> <HR> <A NAME="parent"><!-- --></A><H3> parent</H3> <PRE> public <A HREF="../../processing/core/PApplet.html" title="class in processing.core">PApplet</A> <B>parent</B></PRE> <DL> <DD>Path to parent object that will be used with save(). This prevents users from needing savePath() to use PImage.save(). <P> <DL> </DL> </DL> <!-- ========= CONSTRUCTOR DETAIL ======== --> <A NAME="constructor_detail"><!-- --></A> <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> <TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> <B>Constructor Detail</B></FONT></TH> </TR> </TABLE> <A NAME="PImage()"><!-- --></A><H3> PImage</H3> <PRE> public <B>PImage</B>()</PRE> <DL> <DD>Create an empty image object, set its format to RGB. The pixel array is not allocated. <P> </DL> <HR> <A NAME="PImage(int, int)"><!-- --></A><H3> PImage</H3> <PRE> public <B>PImage</B>(int width, int height)</PRE> <DL> <DD>Create a new RGB (alpha ignored) image of a specific size. All pixels are set to zero, meaning black, but since the alpha is zero, it will be transparent. <P> </DL> <HR> <A NAME="PImage(int, int, int)"><!-- --></A><H3> PImage</H3> <PRE> public <B>PImage</B>(int width, int height, int format)</PRE> <DL> </DL> <HR> <A NAME="PImage(java.awt.Image)"><!-- --></A><H3> PImage</H3> <PRE> public <B>PImage</B>(java.awt.Image img)</PRE> <DL> <DD>Construct a new PImage from a java.awt.Image. This constructor assumes that you've done the work of making sure a MediaTracker has been used to fully download the data and that the img is valid. <P> </DL> <!-- ============ METHOD DETAIL ========== --> <A NAME="method_detail"><!-- --></A> <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> <TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> <B>Method Detail</B></FONT></TH> </TR> </TABLE> <A NAME="init(int, int, int)"><!-- --></A><H3> init</H3> <PRE> public void <B>init</B>(int width, int height, int format)</PRE> <DL> <DD>Function to be used by subclasses of PImage to init later than at the constructor, or re-init later when things changes. Used by Capture and Movie classes (and perhaps others), because the width/height will not be known when super() is called. (Leave this public so that other libraries can do the same.) <P> <DD><DL> </DL> </DD> <DD><DL> </DL> </DD> </DL> <HR> <A NAME="getImage()"><!-- --></A><H3> getImage</H3> <PRE> public java.awt.Image <B>getImage</B>()</PRE> <DL> <DD>Returns a BufferedImage from this PImage. <P> <DD><DL> </DL> </DD> <DD><DL> </DL> </DD> </DL> <HR> <A NAME="setCache(java.lang.Object, java.lang.Object)"><!-- --></A><H3> setCache</H3> <PRE> public void <B>setCache</B>(java.lang.Object parent, java.lang.Object storage)</PRE> <DL> <DD>Store data of some kind for a renderer that requires extra metadata of some kind. Usually this is a renderer-specific representation of the image data, for instance a BufferedImage with tint() settings applied for PGraphicsJava2D, or resized image data and OpenGL texture indices for PGraphicsOpenGL. <P> <DD><DL> </DL> </DD> <DD><DL> </DL> </DD> </DL> <HR> <A NAME="getCache(java.lang.Object)"><!-- --></A><H3> getCache</H3> <PRE> public java.lang.Object <B>getCache</B>(java.lang.Object parent)</PRE> <DL> <DD>Get cache storage data for the specified renderer. Because each renderer will cache data in different formats, it's necessary to store cache data keyed by the renderer object. Otherwise, attempting to draw the same image to both a PGraphicsJava2D and a PGraphicsOpenGL will cause errors. <P> <DD><DL> </DL> </DD> <DD><DL> <DT><B>Parameters:</B><DD><CODE>parent</CODE> - The PGraphics object (or any object, really) associated <DT><B>Returns:</B><DD>data stored for the specified parent</DL> </DD> </DL> <HR> <A NAME="removeCache(java.lang.Object)"><!-- --></A><H3> removeCache</H3> <PRE> public void <B>removeCache</B>(java.lang.Object parent)</PRE> <DL> <DD>Remove information associated with this renderer from the cache, if any. <P> <DD><DL> </DL> </DD> <DD><DL> <DT><B>Parameters:</B><DD><CODE>parent</CODE> - The PGraphics object whose cache data should be removed</DL> </DD> </DL> <HR> <A NAME="isModified()"><!-- --></A><H3> isModified</H3> <PRE> public boolean <B>isModified</B>()</PRE> <DL> <DD><DL> </DL> </DD> <DD><DL> </DL> </DD> </DL> <HR> <A NAME="setModified()"><!-- --></A><H3> setModified</H3> <PRE> public void <B>setModified</B>()</PRE> <DL> <DD><DL> </DL> </DD> <DD><DL> </DL> </DD> </DL> <HR> <A NAME="setModified(boolean)"><!-- --></A><H3> setModified</H3> <PRE> public void <B>setModified</B>(boolean m)</PRE> <DL> <DD><DL> </DL> </DD> <DD><DL> </DL> </DD> </DL> <HR> <A NAME="loadPixels()"><!-- --></A><H3> loadPixels</H3> <PRE> public void <B>loadPixels</B>()</PRE> <DL> <DD>Call this when you want to mess with the pixels[] array. <p/> For subclasses where the pixels[] buffer isn't set by default, this should copy all data into the pixels[] array <P> <DD><DL> </DL> </DD> <DD><DL> </DL> </DD> </DL> <HR> <A NAME="updatePixels()"><!-- --></A><H3> updatePixels</H3> <PRE> public void <B>updatePixels</B>()</PRE> <DL> <DD>Call this when finished messing with the pixels[] array. <p/> Mark all pixels as needing update. <P> <DD><DL> </DL> </DD> <DD><DL> </DL> </DD> </DL> <HR> <A NAME="updatePixels(int, int, int, int)"><!-- --></A><H3> updatePixels</H3> <PRE> public void <B>updatePixels</B>(int x, int y, int w, int h)</PRE> <DL> <DD>Mark the pixels in this region as needing an update. <P> This is not currently used by any of the renderers, however the api is structured this way in the hope of being able to use this to speed things up in the future. <P> <DD><DL> </DL> </DD> <DD><DL> </DL> </DD> </DL> <HR> <A NAME="clone()"><!-- --></A><H3> clone</H3> <PRE> public java.lang.Object <B>clone</B>() throws java.lang.CloneNotSupportedException</PRE> <DL> <DD>Duplicate an image, returns new PImage object. The pixels[] array for the new object will be unique and recopied from the source image. This is implemented as an override of Object.clone(). We recommend using get() instead, because it prevents you from needing to catch the CloneNotSupportedException, and from doing a cast from the result. <P> <DD><DL> <DT><B>Overrides:</B><DD><CODE>clone</CODE> in class <CODE>java.lang.Object</CODE></DL> </DD> <DD><DL> <DT><B>Throws:</B> <DD><CODE>java.lang.CloneNotSupportedException</CODE></DL> </DD> </DL> <HR> <A NAME="resize(int, int)"><!-- --></A><H3> resize</H3> <PRE> public void <B>resize</B>(int wide, int high)</PRE> <DL> <DD>Resize this image to a new width and height. Use 0 for wide or high to make that dimension scale proportionally. <P> <DD><DL> </DL> </DD> <DD><DL> </DL> </DD> </DL> <HR> <A NAME="get(int, int)"><!-- --></A><H3> get</H3> <PRE> public int <B>get</B>(int x, int y)</PRE> <DL> <DD>Returns an ARGB "color" type (a packed 32 bit int with the color. If the coordinate is outside the image, zero is returned (black, but completely transparent). <P> If the image is in RGB format (i.e. on a PVideo object), the value will get its high bits set, just to avoid cases where they haven't been set already. <P> If the image is in ALPHA format, this returns a white with its alpha value set. <P> This function is included primarily for beginners. It is quite slow because it has to check to see if the x, y that was provided is inside the bounds, and then has to check to see what image type it is. If you want things to be more efficient, access the pixels[] array directly. <P> <DD><DL> </DL> </DD> <DD><DL> </DL> </DD> </DL> <HR> <A NAME="get(int, int, int, int)"><!-- --></A><H3> get</H3> <PRE> public <A HREF="../../processing/core/PImage.html" title="class in processing.core">PImage</A> <B>get</B>(int x, int y, int w, int h)</PRE> <DL> <DD>Grab a subsection of a PImage, and copy it into a fresh PImage. As of release 0149, no longer honors imageMode() for the coordinates. <P> <DD><DL> </DL> </DD> <DD><DL> </DL> </DD> </DL> <HR> <A NAME="get()"><!-- --></A><H3> get</H3> <PRE> public <A HREF="../../processing/core/PImage.html" title="class in processing.core">PImage</A> <B>get</B>()</PRE> <DL> <DD>Returns a copy of this PImage. Equivalent to get(0, 0, width, height). <P> <DD><DL> </DL> </DD> <DD><DL> </DL> </DD> </DL> <HR> <A NAME="set(int, int, int)"><!-- --></A><H3> set</H3> <PRE> public void <B>set</B>(int x, int y, int c)</PRE> <DL> <DD>Set a single pixel to the specified color. <P> <DD><DL> </DL> </DD> <DD><DL> </DL> </DD> </DL> <HR> <A NAME="set(int, int, processing.core.PImage)"><!-- --></A><H3> set</H3> <PRE> public void <B>set</B>(int x, int y, <A HREF="../../processing/core/PImage.html" title="class in processing.core">PImage</A> src)</PRE> <DL> <DD>Efficient method of drawing an image's pixels directly to this surface. No variations are employed, meaning that any scale, tint, or imageMode settings will be ignored. <P> <DD><DL> </DL> </DD> <DD><DL> </DL> </DD> </DL> <HR> <A NAME="mask(int[])"><!-- --></A><H3> mask</H3> <PRE> public void <B>mask</B>(int[] alpha)</PRE> <DL> <DD>Set alpha channel for an image. Black colors in the source image will make the destination image completely transparent, and white will make things fully opaque. Gray values will be in-between steps. <P> Strictly speaking the "blue" value from the source image is used as the alpha color. For a fully grayscale image, this is correct, but for a color image it's not 100% accurate. For a more accurate conversion, first use filter(GRAY) which will make the image into a "correct" grayscake by performing a proper luminance-based conversion. <P> <DD><DL> </DL> </DD> <DD><DL> </DL> </DD> </DL> <HR> <A NAME="mask(processing.core.PImage)"><!-- --></A><H3> mask</H3> <PRE> public void <B>mask</B>(<A HREF="../../processing/core/PImage.html" title="class in processing.core">PImage</A> alpha)</PRE> <DL> <DD>Set alpha channel for an image using another image as the source. <P> <DD><DL> </DL> </DD> <DD><DL> </DL> </DD> </DL> <HR> <A NAME="filter(int)"><!-- --></A><H3> filter</H3> <PRE> public void <B>filter</B>(int kind)</PRE> <DL> <DD>Method to apply a variety of basic filters to this image. <P> <UL> <LI>filter(BLUR) provides a basic blur. <LI>filter(GRAY) converts the image to grayscale based on luminance. <LI>filter(INVERT) will invert the color components in the image. <LI>filter(OPAQUE) set all the high bits in the image to opaque <LI>filter(THRESHOLD) converts the image to black and white. <LI>filter(DILATE) grow white/light areas <LI>filter(ERODE) shrink white/light areas </UL> Luminance conversion code contributed by <A HREF="http://www.toxi.co.uk">toxi</A> <P/> Gaussian blur code contributed by <A HREF="http://incubator.quasimondo.com">Mario Klingemann</A> <P> <DD><DL> </DL> </DD> <DD><DL> </DL> </DD> </DL> <HR> <A NAME="filter(int, float)"><!-- --></A><H3> filter</H3> <PRE> public void <B>filter</B>(int kind, float param)</PRE> <DL> <DD>Method to apply a variety of basic filters to this image. These filters all take a parameter. <P> <UL> <LI>filter(BLUR, int radius) performs a gaussian blur of the specified radius. <LI>filter(POSTERIZE, int levels) will posterize the image to between 2 and 255 levels. <LI>filter(THRESHOLD, float center) allows you to set the center point for the threshold. It takes a value from 0 to 1.0. </UL> Gaussian blur code contributed by <A HREF="http://incubator.quasimondo.com">Mario Klingemann</A> and later updated by toxi for better speed. <P> <DD><DL> </DL> </DD> <DD><DL> </DL> </DD> </DL> <HR> <A NAME="copy(int, int, int, int, int, int, int, int)"><!-- --></A><H3> copy</H3> <PRE> public void <B>copy</B>(int sx, int sy, int sw, int sh, int dx, int dy, int dw, int dh)</PRE> <DL> <DD>Copy things from one area of this image to another area in the same image. <P> <DD><DL> </DL> </DD> <DD><DL> </DL> </DD> </DL> <HR> <A NAME="copy(processing.core.PImage, int, int, int, int, int, int, int, int)"><!-- --></A><H3> copy</H3> <PRE> public void <B>copy</B>(<A HREF="../../processing/core/PImage.html" title="class in processing.core">PImage</A> src, int sx, int sy, int sw, int sh, int dx, int dy, int dw, int dh)</PRE> <DL> <DD>Copies area of one image into another PImage object. <P> <DD><DL> </DL> </DD> <DD><DL> </DL> </DD> </DL> <HR> <A NAME="blendColor(int, int, int)"><!-- --></A><H3> blendColor</H3> <PRE> public static int <B>blendColor</B>(int c1, int c2, int mode)</PRE> <DL> <DD>Blend two colors based on a particular mode. <UL> <LI>REPLACE - destination colour equals colour of source pixel: C = A. Sometimes called "Normal" or "Copy" in other software. <LI>BLEND - linear interpolation of colours: <TT>C = A*factor + B</TT> <LI>ADD - additive blending with white clip: <TT>C = min(A*factor + B, 255)</TT>. Clipped to 0..255, Photoshop calls this "Linear Burn", and Director calls it "Add Pin". <LI>SUBTRACT - substractive blend with black clip: <TT>C = max(B - A*factor, 0)</TT>. Clipped to 0..255, Photoshop calls this "Linear Dodge", and Director calls it "Subtract Pin". <LI>DARKEST - only the darkest colour succeeds: <TT>C = min(A*factor, B)</TT>. Illustrator calls this "Darken". <LI>LIGHTEST - only the lightest colour succeeds: <TT>C = max(A*factor, B)</TT>. Illustrator calls this "Lighten". <LI>DIFFERENCE - subtract colors from underlying image. <LI>EXCLUSION - similar to DIFFERENCE, but less extreme. <LI>MULTIPLY - Multiply the colors, result will always be darker. <LI>SCREEN - Opposite multiply, uses inverse values of the colors. <LI>OVERLAY - A mix of MULTIPLY and SCREEN. Multiplies dark values, and screens light values. <LI>HARD_LIGHT - SCREEN when greater than 50% gray, MULTIPLY when lower. <LI>SOFT_LIGHT - Mix of DARKEST and LIGHTEST. Works like OVERLAY, but not as harsh. <LI>DODGE - Lightens light tones and increases contrast, ignores darks. Called "Color Dodge" in Illustrator and Photoshop. <LI>BURN - Darker areas are applied, increasing contrast, ignores lights. Called "Color Burn" in Illustrator and Photoshop. </UL> <P>A useful reference for blending modes and their algorithms can be found in the <A HREF="http://www.w3.org/TR/SVG12/rendering.html">SVG</A> specification.</P> <P>It is important to note that Processing uses "fast" code, not necessarily "correct" code. No biggie, most software does. A nitpicker can find numerous "off by 1 division" problems in the blend code where <TT>>>8</TT> or <TT>>>7</TT> is used when strictly speaking <TT>/255.0</T> or <TT>/127.0</TT> should have been used.</P> <P>For instance, exclusion (not intended for real-time use) reads <TT>r1 + r2 - ((2 * r1 * r2) / 255)</TT> because <TT>255 == 1.0</TT> not <TT>256 == 1.0</TT>. In other words, <TT>(255*255)>>8</TT> is not the same as <TT>(255*255)/255</TT>. But for real-time use the shifts are preferrable, and the difference is insignificant for applications built with Processing.</P> <P> <DD><DL> </DL> </DD> <DD><DL> </DL> </DD> </DL> <HR> <A NAME="blend(int, int, int, int, int, int, int, int, int)"><!-- --></A><H3> blend</H3> <PRE> public void <B>blend</B>(int sx, int sy, int sw, int sh, int dx, int dy, int dw, int dh, int mode)</PRE> <DL> <DD>Blends one area of this image to another area. <P> <DD><DL> </DL> </DD> <DD><DL> <DT><B>See Also:</B><DD><A HREF="../../processing/core/PImage.html#blendColor(int, int, int)"><CODE>blendColor(int,int,int)</CODE></A></DL> </DD> </DL> <HR> <A NAME="blend(processing.core.PImage, int, int, int, int, int, int, int, int, int)"><!-- --></A><H3> blend</H3> <PRE> public void <B>blend</B>(<A HREF="../../processing/core/PImage.html" title="class in processing.core">PImage</A> src, int sx, int sy, int sw, int sh, int dx, int dy, int dw, int dh, int mode)</PRE> <DL> <DD>Copies area of one image into another PImage object. <P> <DD><DL> </DL> </DD> <DD><DL> <DT><B>See Also:</B><DD><A HREF="../../processing/core/PImage.html#blendColor(int, int, int)"><CODE>blendColor(int,int,int)</CODE></A></DL> </DD> </DL> <HR> <A NAME="save(java.lang.String)"><!-- --></A><H3> save</H3> <PRE> public void <B>save</B>(java.lang.String path)</PRE> <DL> <DD>Save this image to disk. <p> As of revision 0100, this function requires an absolute path, in order to avoid confusion. To save inside the sketch folder, use the function savePath() from PApplet, or use saveFrame() instead. As of revision 0116, savePath() is not needed if this object has been created (as recommended) via createImage() or createGraphics() or one of its neighbors. <p> As of revision 0115, when using Java 1.4 and later, you can write to several formats besides tga and tiff. If Java 1.4 is installed and the extension used is supported (usually png, jpg, jpeg, bmp, and tiff), then those methods will be used to write the image. To get a list of the supported formats for writing, use: <BR> <TT>println(javax.imageio.ImageIO.getReaderFormatNames())</TT> <p> To use the original built-in image writers, use .tga or .tif as the extension, or don't include an extension. When no extension is used, the extension .tif will be added to the file name. <p> The ImageIO API claims to support wbmp files, however they probably require a black and white image. Basic testing produced a zero-length file with no error. <P> <DD><DL> </DL> </DD> <DD><DL> </DL> </DD> </DL> <!-- ========= END OF CLASS DATA ========= --> <HR> <!-- ======= START OF BOTTOM NAVBAR ====== --> <A NAME="navbar_bottom"><!-- --></A> <A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> <TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> <TR> <TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A NAME="navbar_bottom_firstrow"><!-- --></A> <TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> <TR ALIGN="center" VALIGN="top"> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD> <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> </TR> </TABLE> </TD> <TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> </EM> </TD> </TR> <TR> <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> <A HREF="../../processing/core/PGraphicsJava2D.html" title="class in processing.core"><B>PREV CLASS</B></A> <A HREF="../../processing/core/PLine.html" title="class in processing.core"><B>NEXT CLASS</B></A></FONT></TD> <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> <A HREF="../../index.html?processing/core/PImage.html" target="_top"><B>FRAMES</B></A> <A HREF="PImage.html" target="_top"><B>NO FRAMES</B></A> <SCRIPT type="text/javascript"> <!-- if(window==top) { document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>'); } //--> </SCRIPT> <NOSCRIPT> <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A> </NOSCRIPT> </FONT></TD> </TR> <TR> <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD> <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD> </TR> </TABLE> <A NAME="skip-navbar_bottom"></A> <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> </BODY> </HTML>