Resources and Support
 Pixel Joint Forum : The Lounge : Resources and Support
Message Icon Topic: Automated black outline help Post Reply Post New Topic
Author Message
Konidias
Seaman
Seaman


Joined: 15 July 2009
Online Status: Offline
Posts: 2
Quote Konidias Replybullet Topic: Automated black outline help
    Posted: 15 July 2009 at 10:50pm
So I'm trying out this new technique for making a massive amount of sprites, but the problem is that they have no outline and I want an outline around them. I can solve this by going into photoshop and just giving it a 1 pixel "outer glow" setting via blending options on the layer... but here is the problem:



The first circle would be the "raw" sprite. The second one is what I get with photoshop. The third one is after I've edited it to look how I want.

The bottom two images show what I'm trying to remove. Photoshop does a nice job of outlining, except it includes pixels for the corners. I only want to have it place pixels next to another pixel in the original raw sprite. (basically I don't want those red pixels)

Is there some sort of program or technique that can achieve this? I'd rather not have to hand remove all of those excess pixels out of hundreds of frames of sprite sheets.
IP IP Logged
Dr D
Midshipman
Midshipman
Avatar

Joined: 14 August 2015
Online Status: Offline
Posts: 94
Quote Dr D Replybullet Posted: 15 July 2009 at 10:59pm
Did you try the stroke setting? It's under blending options too, at the very bottom. I'm not sure if it does the same thing.

Edited by Dr D - 15 July 2009 at 10:59pm
IP IP Logged
Hatch
Admiral
Admiral
Avatar

Joined: 05 August 2015
Online Status: Offline
Posts: 1387
Quote Hatch Replybullet Posted: 15 July 2009 at 11:24pm
1) Use magic wand to select the white or trans around sprite.
2) Select -> Modify > Contract...
3) Enter 1 px for the contract value.
4) Select -> Inverse
5) Use fillbucket on selected BG pixels in non-contiguous mode.

Make sure your BG color is not used in your sprite or it'll replace that color with black. If all your sprites are in one big image file (say, a spritesheet), this will do them all at once.

[EDIT]ed like a million times because I'm anal.

Edited by Hatch - 15 July 2009 at 11:27pm
IP IP Logged
Konidias
Seaman
Seaman


Joined: 15 July 2009
Online Status: Offline
Posts: 2
Quote Konidias Replybullet Posted: 15 July 2009 at 11:29pm
Originally posted by Hatch

1) Use magic wand to select the white or trans around sprite.
2) Select -> Modify > Contract...
3) Enter 1 px for the contract value.
4) Select -> Inverse
5) Use fillbucket on selected BG pixels in non-contiguous mode.

Make sure your BG color is not used in your sprite or it'll replace that color with black. If all your sprites are in one big image file (say, a spritesheet), this will do them all at once.

[EDIT]ed like a million times because I'm anal.

AWESOME! It works like a charm. Thanks a lot!

I tried the stroke blending option as well and that gives a similar result.. except it leaves light gray pixels in place of the ones I want removed. It's simple enough to flatten the layer from there and erase that gray color but the contract method does it perfectly in less steps.

Thanks again!
IP IP Logged
Hatch
Admiral
Admiral
Avatar

Joined: 05 August 2015
Online Status: Offline
Posts: 1387
Quote Hatch Replybullet Posted: 15 July 2009 at 11:31pm
You could also make the BG black, then do steps 1-3, then just fill/erase the selected pixels. It amounts to the same thing, but I think it's a tad quicker.
IP IP Logged
jalonso
Admiral
Admiral
Avatar

Joined: 29 November 2022
Online Status: Offline
Posts: 13537
Quote jalonso Replybullet Posted: 16 July 2009 at 7:54am
hmmm,????? I would never have thought of doing any of that. My way:

1) Use magic wand to select the area around the sprite/object.
2) Stroke
3) Enter 1 px for the value.
4) Select > Stroke Inside
5) Select color, if needed.


IP IP Logged
yrizoud
Commander
Commander
Avatar

Joined: 03 May 2021
Location: France
Online Status: Offline
Posts: 343
Quote yrizoud Replybullet Posted: 16 July 2009 at 12:17pm
Shameless plug:
1) Use grafx2
2) Load the whole image as a brush
2) Select the "background color" according to your transparent color
3) Select black as foreground color and press 'O' once.
4) Save the brush.

IP IP Logged
7Soul
Midshipman
Midshipman
Avatar

Joined: 10 April 2021
Online Status: Offline
Posts: 87
Quote 7Soul Replybullet Posted: 17 July 2009 at 1:57pm
I just select it, pick the Marquee Tool, Right Click the selection > Stroke 1px Center
IP IP Logged
Hatch
Admiral
Admiral
Avatar

Joined: 05 August 2015
Online Status: Offline
Posts: 1387
Quote Hatch Replybullet Posted: 17 July 2009 at 2:27pm
The trouble with your (and I think jal's) method is that it puts the stroke inside the object, destroying hand-placed pixels.
IP IP Logged
7Soul
Midshipman
Midshipman
Avatar

Joined: 10 April 2021
Online Status: Offline
Posts: 87
Quote 7Soul Replybullet Posted: 17 July 2009 at 3:04pm
Then you could invert the selection and the do that. The only problem in that it would stroke the canvas border
IP IP Logged
Hatch
Admiral
Admiral
Avatar

Joined: 05 August 2015
Online Status: Offline
Posts: 1387
Quote Hatch Replybullet Posted: 17 July 2009 at 3:30pm
Oh, yeah, I just realized that's what jal was saying. Cool!
IP IP Logged
Post Reply Post New Topic
Printable version Printable version

Forum Jump
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot delete your posts in this forum
You cannot edit your posts in this forum
You cannot create polls in this forum
You cannot vote in polls in this forum