Copy link to clipboard
Copied
1 Correct answer
50% grey
Filter > Artisitic > Sponge
Threshold, or levels or curves (I went with Threashold)
Some Gausian blur to smooth it up a bit, followed by levels, curves or threashold again. I actually gave it a low value Gassian blur after this to give it some antialiasing.
Scale it to suite, which means start with a big canvas if you want to end up with a tighter pattern.
Explore related tutorials & articles
Copy link to clipboard
Copied
Copy link to clipboard
Copied
Might be an overlaid reaction diffusion pattern, though reproducing the exact pattern might be a problem.
Google should provide links to tutorials under »photoshop reachtion diffusion«.
Such a Pattern could then be used as a Pattern Layer set to Blend Mode Hard Mix over a monochrome image.
Copy link to clipboard
Copied
Ohhh, this is fun!
Copy link to clipboard
Copied
What, is it the 60s again?
Copy link to clipboard
Copied
Yea, why not.
Copy link to clipboard
Copied
For white edges you could use an Inner Glow Layer Style.
Copy link to clipboard
Copied
Couldn't resist making more automated than an action. No error checking, so you have to be careful what you enter.
#target photoshop
var doc = activeDocument
var hipass
var thresh
var gBlur
var gBlur
var num
var dlg = new Window('dialog','Reaction Diffusion');
dlg.alignChildren = ['left','top'];
dlg.hiGp = dlg.add('group');
dlg.hiGp.stxt = dlg.hiGp.add('statictext',undefined,'Hipass Radius');
hipass = dlg.hiGp.add('edittext',undefined,10);
dlg.hiGp = dlg.add('group');
dlg.hiGp.stxt = dlg.hiGp.add('statictext',undefined,'Threshold');
thresh = dlg.hiGp.add('edittext',undefined,128);
dlg.blGp = dlg.add('group');
dlg.blGp.stxt = dlg.blGp.add('statictext',undefined,'Blur Radius');
gBlur = dlg.blGp.add('edittext',undefined,11);
dlg.numGp = dlg.add('group');
dlg.numGp.stxt = dlg.numGp.add('statictext',undefined,'Number of iterations');
num = dlg.numGp.add('edittext',undefined,90);
dlg.btn = dlg.add('button',undefined,'Okay');
dlg.btn.onClick = function(){dlg.close()};
dlg.show();
for(var i=0;i<parseInt(num.text);i++){
reaction ();
}
var idThrs = charIDToTypeID( "Thrs" );
var desc9 = new ActionDescriptor();
var idLvl = charIDToTypeID( "Lvl " );
desc9.putInteger( idLvl, parseFloat(thresh.text) );
executeAction( idThrs, desc9, DialogModes.ALL );
app.displayDialogs = DialogModes.NO;
function reaction(){
// =======================================================
var idHghP = charIDToTypeID( "HghP" );
var desc5 = new ActionDescriptor();
var idRds = charIDToTypeID( "Rds " );
var idPxl = charIDToTypeID( "#Pxl" );
desc5.putUnitDouble( idRds, idPxl, parseFloat(hipass.text ));
executeAction( idHghP, desc5, DialogModes.NO );
// =======================================================
var idThrs = charIDToTypeID( "Thrs" );
var desc9 = new ActionDescriptor();
var idLvl = charIDToTypeID( "Lvl " );
desc9.putInteger( idLvl, parseFloat(thresh.text) );
executeAction( idThrs, desc9, DialogModes.NO );
// =======================================================
var idGsnB = charIDToTypeID( "GsnB" );
var desc13 = new ActionDescriptor();
var idRds = charIDToTypeID( "Rds " );
var idPxl = charIDToTypeID( "#Pxl" );
desc13.putUnitDouble( idRds, idPxl, parseFloat(gBlur.text) );
executeAction( idGsnB, desc13, DialogModes.NO );
}
Copy link to clipboard
Copied
50% grey
Filter > Artisitic > Sponge
Threshold, or levels or curves (I went with Threashold)
Some Gausian blur to smooth it up a bit, followed by levels, curves or threashold again. I actually gave it a low value Gassian blur after this to give it some antialiasing.
Scale it to suite, which means start with a big canvas if you want to end up with a tighter pattern.
Copy link to clipboard
Copied
Thanks guys for all the replies and help

