This code example shows how to render a small watermark with the word "DEMO" randomly across on an image when the user clicks the OK button. You can use this code for public demo versions of your Photoshop plug-ins, so the customer can try out your plug-in before buying it.
%ffp ForEveryTile: { int i, j, offset, demo, xstart, step; if (ctl(CTL_OK)) { if (Y>X) step=(X)/8; else step=(Y)/8; if (step<200) step=200; //Avoid too many "DEMO" on small images if (step>400) step=400; //Set maximum "DEMO" distance for (z=0; z<Z; z++) { xstart=0; for (y=step/2; y<Y; y+=step) { if (xstart>0) xstart=0; else xstart=step/2; for (x=xstart; x<X; x+=step) { //Set background for text for (j=-5; j<=10; j++) for (i=-5; i<=30; i++) pset(x+i,y+j,z,blend(pget(x+i,y+j,z),255,z,0,70)); //blend with image //Set "DEMO" Text //D offset=0; pset(x+offset,y+0,z,0); pset(x+offset,y+1,z,0); pset(x+offset,y+2,z,0); pset(x+offset,y+3,z,0); pset(x+offset,y+4,z,0); offset+=1; pset(x+offset,y+0,z,0); pset(x+offset,y+4,z,0); offset+=1; pset(x+offset,y+0,z,0); pset(x+offset,y+4,z,0); offset+=1; pset(x+offset,y+1,z,0); pset(x+offset,y+2,z,0); pset(x+offset,y+3,z,0); //E offset=7; pset(x+offset,y+0,z,0); pset(x+offset,y+1,z,0); pset(x+offset,y+2,z,0); pset(x+offset,y+3,z,0); pset(x+offset,y+4,z,0); offset+=1; pset(x+offset,y+0,z,0); pset(x+offset,y+2,z,0); pset(x+offset,y+4,z,0); offset+=1; pset(x+offset,y+0,z,0); pset(x+offset,y+2,z,0); pset(x+offset,y+4,z,0); offset+=1; pset(x+offset,y+0,z,0); pset(x+offset,y+2,z,0); pset(x+offset,y+4,z,0); //M offset=14; pset(x+offset,y+0,z,0); pset(x+offset,y+1,z,0); pset(x+offset,y+2,z,0); pset(x+offset,y+3,z,0); pset(x+offset,y+4,z,0); offset+=1; pset(x+offset,y+1,z,0); offset=16; pset(x+offset,y+2,z,0); offset+=1; pset(x+offset,y+1,z,0); offset+=1; pset(x+offset,y+0,z,0); pset(x+offset,y+1,z,0); pset(x+offset,y+2,z,0); pset(x+offset,y+3,z,0); pset(x+offset,y+4,z,0); //0 offset=21; pset(x+offset,y+1,z,0); pset(x+offset,y+2,z,0); pset(x+offset,y+3,z,0); offset+=1; pset(x+offset,y+0,z,0); pset(x+offset,y+4,z,0); offset+=1; pset(x+offset,y+0,z,0); pset(x+offset,y+4,z,0); offset+=1; pset(x+offset,y+1,z,0); pset(x+offset,y+2,z,0); pset(x+offset,y+3,z,0); }//x }//y }//z }//if OK Button return true; }