DaFool wrote:
I only notice that the edges tend to be grayer than usual (i.e. when using regular pngs instead of jpeg masks), but I can live with it.
Incidentally - I don't know how it's done specifically in this instance, so this is just wild speculation based on what I know of PNGs and JPEGs, but here's one thing I can think of that might be causing this. When JPEGs are saved, they break the image up into squares of (IIRC) 8px across, and each square has its colour defined by a small quantity of numbers which determine how the colour changes across that block. This saves a lot of space, 'cause you don't need the full 8x8x3 (192) bytes to colour that square, but it does mean that it can only approximate rapid colour changes 'cause it can't store enough information to do otherwise. This is why edges of text look fuzzy in JPEG, but I'm thinking it probably also means that the edge of the mask is a little fuzzy, and the edge of the character sprite is a little fuzzy.
Where the mask is fuzzy, it'll mean that what used to be your first totally-opaque pixel is now slightly transparent, letting the background through. There's not much you can do about that, of course, save for saving the JPEGs in question at a higher quality if they're not already at maximum. Where the character graphic is fuzzy, though, it may lead to corruption of your edge colours, and there might be something you can do about that. Good PNG-saving routines colour the transparent pixels 'next' to edges the same colour as the edge pixels, only with a 0 alpha; this is because the PNG routine compresses large chunks of the same colour most efficiently, so it's best for compression reasons to have the same colour even in the totally-transparent bits. Bad PNG-saving routines will save whatever colour the original document has regardless of the fact that it's fully transparent - and this is often white. I seem to recall that, for example, Photoshop's PNG-saving has come in for this criticism.
It depends how the tool saves out the JPEGs, and I couldn't find the thread in a quick scan so I can't say for sure, but
if it saves them with the same data in the transparent BG as was there before (which would be easiest), and
if you used something with a bad PNG-saving routing to save the originals, then the character sprite being fuzzy will mean that that BG colour, saved in the original PNG, will now bleed over into your edges a little - if it's white, that'll also lighten them a lot. The only thing you could do about that would be to fix the JPEG to have a black BG - either by saving the PNG that way in the first place or by altering it afterwards (I'm thinking open your original in PS, fill a BG layer in black and save the whole thing out as a JPEG over the top of the JCC-made one).
Of course, if it
is the case that the JCC tool just uses whatever colour is in the image when it opens it for the JPEG's background, it might be nice for that to be altered to have an 'edge hinting colour' or something which it fills all alpha-0 pixels with before saving the JPEG... but I don't know how much work that would be, or whether it already does something like that.
[EDIT: Although, it does make me wonder whether non-negligible space might be saved with a 8bpp PNG for the sprite and a 4bpp PNG for the mask, which would avoid these problems... and most character sprites would be fine in 8bpp colour if it wasn't for alpha...]