Sunday, April 3, 2011

Happy Birthday Fool

So I don't have the inbetween but I thought it'd be nice to have another in between process. Basically with this it was obviously for my friend. (No her name isn't really mango it's just a nickname). But here is once again and initial sketch (always done in either blue or red) then inked and colored. There wasn't much to the background since I didn't think that far ahead nor had that much time but I was still able to give it to her on April 1st. (And yes I do notice that the arm is a little too long in the sketch. Clearly I fixed that.)
This is my friend's 2nd self persona and one of her original characters (that is extremely popular on deviantart.) 

Thursday, March 31, 2011

Color Blind Final Code

// =======================================================Selects the background layer and makes a copy. Note that the initial layer you begin with MUST be called background and be locked.
var image = app.activeDocument;
var background = app.activeDocument.artLayers.getByName("Background");
background.duplicate();
background.visible = false;
var copy = image.artLayers.getByName("Background copy");
// =======================================================Makes 2 new layers and names them.
var newLayer = image.artLayers.add();
var newLayer = image.artLayers.add();

var Layer1 = image.artLayers.getByName("Layer 1");
var Layer2 = image.artLayers.getByName("Layer 2");
// =======================================================Makes the active layer the copied layer.
image.activeLayer = copy;
// =======================================================Goes into the channels and copies the red channel to a new layer.
var redChannel = image.channels.getByName("Red");
var arrayRed = new Array (redChannel);
image.activeChannels = arrayRed;
image.selection.selectAll();
image.selection.copy();
image.activeLayer = Layer1;
image.paste();
// =======================================================Does the same for the green but also makes it a screen layer and changes the opacity to 50%.
var greenChannel = image.channels.getByName("Green");
var arrayGreen = new Array (greenChannel);
image.activeChannels = arrayGreen;
image.selection.selectAll();
image.selection.copy();
image.activeLayer = Layer2;
image.paste();
image.activeLayer.blendMode = BlendMode.SCREEN;
Layer2.opacity = 50;
// =======================================================Makes the original image visible again then copies it's newly made green/red channel layers and goes into the channel box and pastes them in as the new red channel and green channel.
copy.visible = false;
image.mergeVisibleLayers();
image.selection.selectAll();
image.selection.copy();

copy.visible = true;
image.activeLayer = copy;

var redChannel = image.channels.getByName("Red");
var arrayRed = new Array (redChannel);
image.activeChannels = arrayRed;
image.paste();

var greenChannel = image.channels.getByName("Green");
var arrayGreen = new Array (greenChannel);
image.activeChannels = arrayGreen;
image.paste();
// =======================================================Makes the merged layer invisible then flattens the visible image.
image.activeLayer = Layer2;
Layer2.visible = false;
image.flatten();
image.selection.deselect();

 

Closer but can't figure out how to select the RGB Channel on it's own.

// =======================================================
var image = app.activeDocument;
var background = app.activeDocument.artLayers.getByName("Background");
background.duplicate();
background.visible = false;
var copy = image.artLayers.getByName("Background copy");

var newLayer = image.artLayers.add();
var newLayer = image.artLayers.add();

var Layer1 = image.artLayers.getByName("Layer 1");
var Layer2 = image.artLayers.getByName("Layer 2");

image.activeLayer = copy;

var redChannel = image.channels.getByName("Red");
var arrayRed = new Array (redChannel);
image.activeChannels = arrayRed;
image.selection.selectAll();
image.selection.copy();
image.activeLayer = Layer1;
image.paste();

var greenChannel = image.channels.getByName("Green");
var arrayGreen = new Array (greenChannel);
image.activeChannels = arrayGreen;
image.selection.selectAll();
image.selection.copy();
image.activeLayer = Layer2;
image.paste();
image.activeLayer.blendMode = BlendMode.SCREEN;
Layer2.opacity = 50;

copy.visible = false;
image.mergeVisibleLayers();
image.selection.selectAll();
image.selection.copy();

copy.visible = true;
image.activeLayer = copy;

var redChannel = image.channels.getByName("Red");
var arrayRed = new Array (redChannel);
image.activeChannels = arrayRed;
image.paste();

var greenChannel = image.channels.getByName("Green");
var arrayGreen = new Array (greenChannel);
image.activeChannels = arrayGreen;
image.paste();

var RGBChannel = image.channels.getByName("RGB");
image.activeChannels = arrayRGB;

Color Blind Code WIP

// =======================================================
var image = app.activeDocument;

app.activeDocument.artLayers.getByName("Background");

var newLayer = image.artLayers.add();
var newLayer = image.artLayers.add();
var Layer1 = image.artLayers.getByName("Layer 1");
var Layer2 = image.artLayers.getByName("Layer 2");

var redChannel = image.channels.getByName("Red");
var arrayRed = new Array (redChannel);
image.activeChannels = arrayRed;
image.selection.selectAll();




I wanted to unlock the background layer but none of the help seemed to be working. I was given this code to use but I think because I use PhotoshopCS it wasn't working properly.

if(hasBackground()){
activeDocument.activeLayer = activeDocument.artLayers.getByName("Background");
activeDocument.activeLayer.isBackgroundLayer = false;
}
function hasBackground() {
var ref = new ActionReference();
ref.putProperty(charIDToTypeID("Prpr"), charIDToTypeID("Bckg"));
ref.putEnumerated(charIDToTypeID("Lyr "),charIDToTypeID("Ordn"),charIDToTypeID("Back"));
var desc = executeActionGet(ref);
var res = desc.getBoolean(charIDToTypeID("Bckg"));
return res;
};

Tuesday, March 29, 2011

First Simple Script

  // if image is in portrait mode, rotate it 90 degrees  
  if (activeDocument.height > activeDocument.width) {
      activeDocument.rotateCanvas(90);
  }

It's super simple and somewhat not really important. But it does something. Yay me. Just from scanning a few tutorials I learned the generic // means comments and activeDocument is required syntax and the whole () vs {} business which I guess is stuff we've already gone over. I don't really know how else to explain this but I read up on the terms here.

http://www.earthboundlight.com/phototips/your-first-photoshop-script.html

Monday, March 28, 2011

Photoshop Perspective

I thought this video was not "useful" per say but I thought it was interesting and the most beneficial to me when it comes to using photoshop. I rarely use photoshop. The only times I use it are if I want to use the noise filter or a specific symmetrical brush like a perfect star or circle. I don't believe I would use actionscript/javascript more often than for small things like this because so far, I haven't run into a situation where I'd need to do something a lot repeatedly. I'm saying that now because I haven't run into it SO FAR. But photoshop is not a painting system that I use for my drawings. Frankly, I think it's absolutely terrible for drawing and the ink brushes are disgusting. I avoid it as much as possible and stick to the better art programs.

Sunday, March 27, 2011

Sleepy Stars

Messing with Photoshop brushes and gradients. Basically I wanted to go for a more child-like picture and this was also a sort of inside joke. But overall this is a kitten and a turtle looking up at the stars. The idea was to follow another picture using only sunset like gradients. I also used the noise filter a few times. Not entirely sure why but the noise filter always seems to give the picture some textures.