PDA

View Full Version : Important Tip for Recoloring Themes



Mr GRiM
August 24th, 2016, 06:36 PM
When your doing recolors you have to be very careful with some images, if you are extracting the images with a resource hacker like Restorator then a lot of the recolors will come out wrong.

With some images it is important that you edit them in WSB and then export the image checking the box "don't undo alpha premultiplication"

If you notice any colored image with transparency when exported and not checking that box will be brighter and more vibrant, this is because it represents the image as it was before it was added to WSB or as it looks when you use Edit Image in WSB, if you check that box though it will export the image as it saved in the msstyles.

This means if you are recoloring the images extracted using Restorator the images will end up dull when imported back in again, this can also lead to other sorts of problems if you have to edit one of the images again in WSB as when you save it back to WSB again it can become a different shade to the rest of your images in a start menu for instance.

Here is one such example:

Edited using Edit image in WSB

75086

Edited using images extracted from the msstyles

75087

As you can see the glow on the text has almost been removed in the one extracted from the msstyles, now this is not something you will have to do for all images, batch recolors are a great idea but even then those images have to be imported again within WSB or the alpha premultiplication will not take place and this can cause problems with the images and sometimes it will display a white square instead.

I hope these tips were helpful for you all and that you can continue to do great recolors in all of their glory.

Some info on Premultiplied alpha

Premultiplied alpha In computer graphics there are two different ways to represent the opacity of a color value. Win2D uses both methods. This article explains the difference, and which is used where.

http://microsoft.github.io/Win2D/icons/SectionExpanded.pngStraight alpha
When using straight, also known as linear, alpha:


RGB values specify the color of the thing being drawn
The alpha value specifies how solid it is

In this world, RGB and alpha are independent. You can change one without affecting the other. To make an object fade out, you would gradually reduce its alpha value while leaving RGB unchanged.
To perform a source-over blend between two colors that use straight alpha format:
Copy (http://microsoft.github.io/Win2D/html/PremultipliedAlpha.htm#)

result = (source.RGB * source.A) + (dest.RGB * (1 - source.A))



http://microsoft.github.io/Win2D/icons/SectionExpanded.pngPremultiplied alpha
When using premultiplied alpha:


RGB specifies how much color the thing being drawn contributes to the output
The alpha value specifies how much it obscures whatever is behind it

In this world, RGB and alpha are linked. To make an object transparent you must reduce both its RGB (to contribute less color) and also its alpha (to obscure less of whatever is behind it). Fully transparent objects no longer have any color at all, so there is only one value that represents 100% transparency: RGB and alpha all zero.
To perform a source-over blend between two colors that use premultiplied alpha format:
Copy (http://microsoft.github.io/Win2D/html/PremultipliedAlpha.htm#)

result = source.RGB + (dest.RGB * (1 - source.A))


Premultiplied alpha is used in graphics rendering because it gives better results than straight alpha when filtering images or composing different layers. For more information see the articles:


http://blogs.msdn.com/b/shawnhar/archive/2009/11/06/premultiplied-alpha.aspx
http://blogs.msdn.com/b/shawnhar/archive/2009/11/07/premultiplied-alpha-and-image-composition.aspx


http://microsoft.github.io/Win2D/icons/SectionExpanded.pngAlpha in Win2D
Win2D uses straight alpha in its API surface, but premultiplied alpha for internal rendering operations.
Windows.UI.Color values use straight alpha. Whenever you pass a color to a Draw* or Fill* method, set the color of a brush, or clear to a color value, this color is specified using straight alpha.
The pixel values stored in a bitmap or rendertarget, and the drawing or blending operations that operate on these surfaces, use premultiplied alpha. When bitmaps are loaded from a file their contents are automatically converted into premultiplied format. When you call a Win2D drawing method, its color parameter is converted from straight to premultiplied before the actual drawing takes place.
Win2D image effects use a mixture of straight and premultiplied alpha. Some effects operate on one format, some on the other, and some provide a property to choose. The documentation for each effect type describes which alpha mode it uses. Effect input data is always assumed to be premultiplied, so when an effect needs to work with straight alpha it will first apply an unpremultiply transform, compute the effect, and then re-premultiply the output.
The bitmap APIs GetPixelBytes, SetPixelBytes, GetPixelColors, and SetPixelColors, do NOT perform any alpha format conversions. They just directly transfer bit values to or from the underlying GPU texture. This allows you to observe what alpha format Win2D is using internally:


Create a drawing session on a rendertarget
Call drawingSession.Clear(Colors.Tranparent)
Colors.Tranparent is defined as R=255, G=255, B=255, A=0
Win2D will convert this value to premultiplied format, yielding R=0, G=0, B=0, A=0
Use GetPixelColors to read back the contents of the rendertarget
Observe that it contains premultiplied format RGB=0, not RGB=255 like the original straight alpha Colors.Tranparent value


http://microsoft.github.io/Win2D/icons/SectionExpanded.pngConverting between alpha formats
To convert a straight alpha color value to premultiplied format, multiply its R, G, and B values by A. To convert premultiplied to straight, divide R, G, and B by A.
Note that color information is often represented as byte values ranging from 0 to 255 (for example the Windows.UI.Color structure consists of 4 bytes). This representation is scaled up by a factor of 255, so a byte value of 255 actually means 1, while 128 is half intensity. That scaling factor must be taken into account during format conversions, so to convert a Windows.UI.Color from straight to premultiplied:
C#

Copy (http://microsoft.github.io/Win2D/html/PremultipliedAlpha.htm#)

premultiplied.R = (byte)(straight.R * straight.A / 255);
premultiplied.G = (byte)(straight.G * straight.A / 255);
premultiplied.B = (byte)(straight.B * straight.A / 255);
premultiplied.A = straight.A;


If you have image data that is using the wrong alpha format, PremultiplyEffect (http://microsoft.github.io/Win2D/html/T_Microsoft_Graphics_Canvas_Effects_PremultiplyEffect.htm) or UnPremultiplyEffect (http://microsoft.github.io/Win2D/html/T_Microsoft_Graphics_Canvas_Effects_UnPremultiplyEffect.htm) can be used to convert it.



PremultiplyEffect Class[NoComposition] Converts an image from unpremultiplied to premultiplied alpha format.
http://microsoft.github.io/Win2D/icons/SectionExpanded.pngInheritance Hierarchy
System.Object (http://msdn2.microsoft.com/en-us/library/e5kfa45b)
Microsoft.Graphics.Canvas.Effects.PremultiplyEffect


Namespace: Microsoft.Graphics.Canvas.Effects (http://microsoft.github.io/Win2D/html/N_Microsoft_Graphics_Canvas_Effects.htm)
Assembly: Microsoft.Graphics.Canvas (in Microsoft.Graphics.Canvas.dll) Version: 0.0.0.0http://microsoft.github.io/Win2D/icons/SectionExpanded.pngSyntax
C#

Copy (http://microsoft.github.io/Win2D/html/T_Microsoft_Graphics_Canvas_Effects_PremultiplyEffect.htm#)

public sealed class PremultiplyEffect : ICanvasEffect,
IGraphicsEffect, IGraphicsEffectSource, ICanvasImage, IDisposable



The PremultiplyEffect type exposes the following members.
http://microsoft.github.io/Win2D/icons/SectionExpanded.pngConstructors



Name
Description


http://microsoft.github.io/Win2D/icons/pubmethod.gif
PremultiplyEffect (http://microsoft.github.io/Win2D/html/M_Microsoft_Graphics_Canvas_Effects_PremultiplyEffect__ctor.htm)
Initializes a new instance of the PremultiplyEffect class.


Top (http://microsoft.github.io/Win2D/html/T_Microsoft_Graphics_Canvas_Effects_PremultiplyEffect.htm#PageHeader)
http://microsoft.github.io/Win2D/icons/SectionExpanded.pngProperties



Name
Description


http://microsoft.github.io/Win2D/icons/pubproperty.gif
BufferPrecision (http://microsoft.github.io/Win2D/html/P_Microsoft_Graphics_Canvas_Effects_PremultiplyEffect_BufferPrecision.htm)
Specifies what precision to use for intermediate buffers when drawing this effect.


http://microsoft.github.io/Win2D/icons/pubproperty.gif
CacheOutput (http://microsoft.github.io/Win2D/html/P_Microsoft_Graphics_Canvas_Effects_PremultiplyEffect_CacheOutput.htm)
Enables caching the output from drawing this effect.


http://microsoft.github.io/Win2D/icons/pubproperty.gif
Name (http://microsoft.github.io/Win2D/html/P_Microsoft_Graphics_Canvas_Effects_PremultiplyEffect_Name.htm)
Attaches a user-defined name string to the effect.


http://microsoft.github.io/Win2D/icons/pubproperty.gif
Source (http://microsoft.github.io/Win2D/html/P_Microsoft_Graphics_Canvas_Effects_PremultiplyEffect_Source.htm)
Gets or sets the input source for Premultiply effect.


Top (http://microsoft.github.io/Win2D/html/T_Microsoft_Graphics_Canvas_Effects_PremultiplyEffect.htm#PageHeader)
http://microsoft.github.io/Win2D/icons/SectionExpanded.pngMethods



Name
Description


http://microsoft.github.io/Win2D/icons/pubmethod.gif
Dispose (http://microsoft.github.io/Win2D/html/M_Microsoft_Graphics_Canvas_Effects_PremultiplyEffect_Dispose.htm)
Releases all resources used by the effect.


http://microsoft.github.io/Win2D/icons/pubmethod.gif
GetBounds(ICanvasResourceCreator) (http://microsoft.github.io/Win2D/html/M_Microsoft_Graphics_Canvas_Effects_PremultiplyEffect_GetBounds.htm)
Retrieves the bounds of this PremultiplyEffect.


http://microsoft.github.io/Win2D/icons/pubmethod.gif
GetBounds(ICanvasResourceCreator, Matrix3x2) (http://microsoft.github.io/Win2D/html/M_Microsoft_Graphics_Canvas_Effects_PremultiplyEffect_GetBounds_1.htm)
Retrieves the bounds of this PremultiplyEffect.


http://microsoft.github.io/Win2D/icons/pubmethod.gif
GetInvalidRectangles (http://microsoft.github.io/Win2D/html/M_Microsoft_Graphics_Canvas_Effects_PremultiplyEffect_GetInvalidRectangles.htm)
Queries what regions of the effect output have changed since it was last drawn.


http://microsoft.github.io/Win2D/icons/pubmethod.gifhttp://microsoft.github.io/Win2D/icons/CodeExample.png
GetRequiredSourceRectangle (http://microsoft.github.io/Win2D/html/M_Microsoft_Graphics_Canvas_Effects_PremultiplyEffect_GetRequiredSourceRectangle.htm)
Queries what part of an effect source image is needed to draw an output region.


http://microsoft.github.io/Win2D/icons/pubmethod.gif
GetRequiredSourceRectangles (http://microsoft.github.io/Win2D/html/M_Microsoft_Graphics_Canvas_Effects_PremultiplyEffect_GetRequiredSourceRectangles.htm)
Queries what parts of the effect source images are needed to draw an output region.


http://microsoft.github.io/Win2D/icons/pubmethod.gif
InvalidateSourceRectangle (http://microsoft.github.io/Win2D/html/M_Microsoft_Graphics_Canvas_Effects_PremultiplyEffect_InvalidateSourceRectangle.htm)
Notifies the effect that one of its source images has changed.


Top (http://microsoft.github.io/Win2D/html/T_Microsoft_Graphics_Canvas_Effects_PremultiplyEffect.htm#PageHeader)
http://microsoft.github.io/Win2D/icons/SectionExpanded.pngRemarks
Supported by Win2D but not Windows.UI.Composition.
This Windows Runtime type corresponds to the D2D Premultiply effect (http://msdn.microsoft.com/en-us/library/windows/desktop/hh780395.aspx).

http://microsoft.github.io/Win2D/icons/SectionExpanded.pngSee Also
Reference

Microsoft.Graphics.Canvas.Effects Namespace (http://microsoft.github.io/Win2D/html/N_Microsoft_Graphics_Canvas_Effects.htm)






UnPremultiplyEffect Class[NoComposition] Converts an image from premultiplied to unpremultiplied alpha format.
http://microsoft.github.io/Win2D/icons/SectionExpanded.pngInheritance Hierarchy
System.Object (http://msdn2.microsoft.com/en-us/library/e5kfa45b)
Microsoft.Graphics.Canvas.Effects.UnPremultiplyEffect


Namespace: Microsoft.Graphics.Canvas.Effects (http://microsoft.github.io/Win2D/html/N_Microsoft_Graphics_Canvas_Effects.htm)
Assembly: Microsoft.Graphics.Canvas (in Microsoft.Graphics.Canvas.dll) Version: 0.0.0.0http://microsoft.github.io/Win2D/icons/SectionExpanded.pngSyntax
C#

Copy (http://microsoft.github.io/Win2D/html/T_Microsoft_Graphics_Canvas_Effects_UnPremultiplyEffect.htm#)

public sealed class UnPremultiplyEffect : ICanvasEffect,
IGraphicsEffect, IGraphicsEffectSource, ICanvasImage, IDisposable



The UnPremultiplyEffect type exposes the following members.
Constructors



Name
Description


http://microsoft.github.io/Win2D/icons/pubmethod.gif
UnPremultiplyEffect (http://microsoft.github.io/Win2D/html/M_Microsoft_Graphics_Canvas_Effects_UnPremultiplyEffect__ctor.htm)
Initializes a new instance of the UnPremultiplyEffect class.


Top (http://microsoft.github.io/Win2D/html/T_Microsoft_Graphics_Canvas_Effects_UnPremultiplyEffect.htm#PageHeader)
Properties



Name
Description


http://microsoft.github.io/Win2D/icons/pubproperty.gif
BufferPrecision (http://microsoft.github.io/Win2D/html/P_Microsoft_Graphics_Canvas_Effects_UnPremultiplyEffect_BufferPrecision.htm)
Specifies what precision to use for intermediate buffers when drawing this effect.


http://microsoft.github.io/Win2D/icons/pubproperty.gif
CacheOutput (http://microsoft.github.io/Win2D/html/P_Microsoft_Graphics_Canvas_Effects_UnPremultiplyEffect_CacheOutput.htm)
Enables caching the output from drawing this effect.


http://microsoft.github.io/Win2D/icons/pubproperty.gif
Name (http://microsoft.github.io/Win2D/html/P_Microsoft_Graphics_Canvas_Effects_UnPremultiplyEffect_Name.htm)
Attaches a user-defined name string to the effect.


http://microsoft.github.io/Win2D/icons/pubproperty.gif
Source (http://microsoft.github.io/Win2D/html/P_Microsoft_Graphics_Canvas_Effects_UnPremultiplyEffect_Source.htm)
Gets or sets the input source for UnPremultiply effect.


Top (http://microsoft.github.io/Win2D/html/T_Microsoft_Graphics_Canvas_Effects_UnPremultiplyEffect.htm#PageHeader)
http://microsoft.github.io/Win2D/icons/SectionExpanded.pngMethods



Name
Description


http://microsoft.github.io/Win2D/icons/pubmethod.gif
Dispose (http://microsoft.github.io/Win2D/html/M_Microsoft_Graphics_Canvas_Effects_UnPremultiplyEffect_Dispose.htm)
Releases all resources used by the effect.


http://microsoft.github.io/Win2D/icons/pubmethod.gif
GetBounds(ICanvasResourceCreator) (http://microsoft.github.io/Win2D/html/M_Microsoft_Graphics_Canvas_Effects_UnPremultiplyEffect_GetBounds.htm)
Retrieves the bounds of this UnPremultiplyEffect.


http://microsoft.github.io/Win2D/icons/pubmethod.gif
GetBounds(ICanvasResourceCreator, Matrix3x2) (http://microsoft.github.io/Win2D/html/M_Microsoft_Graphics_Canvas_Effects_UnPremultiplyEffect_GetBounds_1.htm)
Retrieves the bounds of this UnPremultiplyEffect.


http://microsoft.github.io/Win2D/icons/pubmethod.gif
GetInvalidRectangles (http://microsoft.github.io/Win2D/html/M_Microsoft_Graphics_Canvas_Effects_UnPremultiplyEffect_GetInvalidRectangles.htm)
Queries what regions of the effect output have changed since it was last drawn.


http://microsoft.github.io/Win2D/icons/pubmethod.gifhttp://microsoft.github.io/Win2D/icons/CodeExample.png
GetRequiredSourceRectangle (http://microsoft.github.io/Win2D/html/M_Microsoft_Graphics_Canvas_Effects_UnPremultiplyEffect_GetRequiredSourceRectangle.htm)
Queries what part of an effect source image is needed to draw an output region.


http://microsoft.github.io/Win2D/icons/pubmethod.gif
GetRequiredSourceRectangles (http://microsoft.github.io/Win2D/html/M_Microsoft_Graphics_Canvas_Effects_UnPremultiplyEffect_GetRequiredSourceRectangles.htm)
Queries what parts of the effect source images are needed to draw an output region.


http://microsoft.github.io/Win2D/icons/pubmethod.gif
InvalidateSourceRectangle (http://microsoft.github.io/Win2D/html/M_Microsoft_Graphics_Canvas_Effects_UnPremultiplyEffect_InvalidateSourceRectangle.htm)
Notifies the effect that one of its source images has changed.


Top (http://microsoft.github.io/Win2D/html/T_Microsoft_Graphics_Canvas_Effects_UnPremultiplyEffect.htm#PageHeader)
Remarks
Supported by Win2D but not Windows.UI.Composition.
This Windows Runtime type corresponds to the D2D Unpremultiply effect (http://msdn.microsoft.com/en-us/library/windows/desktop/hh780397.aspx).

See Also
Reference

Microsoft.Graphics.Canvas.Effects Namespace (http://microsoft.github.io/Win2D/html/N_Microsoft_Graphics_Canvas_Effects.htm)

Shemhamforash
August 24th, 2016, 07:24 PM
Good to know, in the Slate theme for example how many images have been messed up would you say? The one with the glow text in start menu is one, is there a type of image or characteristic I should look for?

Agelyk
August 24th, 2016, 07:26 PM
great advice, did not know this because I do not use almost "Restorator" to recolor something.

Mr GRiM
August 24th, 2016, 07:32 PM
Good to know, in the Slate theme for example how many images have been messed up would you say? The one with the glow text in start menu is one, is there a type of image or characteristic I should look for?

Any bright colored images that have very low transparency, mostly things like glow around an image but also sometimes in the image depending on the image transparency, In some cases I prefer to do my recolor of an image in WSB and then export the image with box checked for alpha premultiplication and then import it using Restorator, this is helpful if an image is used in multiple locations and saves you having to edit/import the same image again and again.

Some other examples in the HUD themes would be the drop down buttons/separators in the address bar, the expand/collapse buttons in explorer, another one I noticed a color darkening on was the Command Module buttons.

In this theme that I got from Lamia there was a total of 8 images that I did angain and that would be the same for most of the HUD recolors.

I have attached the images I needed to edit for this theme, take note that these are how they are when they come from the msstyles or are exported with alpha premultiplication and can not be recolored again unless imported to WSB, I use the red theme as a base and do my edits in WSB and then export the recolored images I need with alpha premultiplication.

freak69ize
August 24th, 2016, 09:17 PM
Also.. if youre batch recoloring.. some images may come out slightly a different shade of the color if you use Restorator.

Shemhamforash
August 25th, 2016, 02:23 PM
I have attached the images I needed to edit for this theme, take note that these are how they are when they come from the msstyles or are exported with alpha premultiplication and can not be recolored again unless imported to WSB, I use the red theme as a base and do my edits in WSB and then export the recolored images I need with alpha premultiplication.

Very useful, I'm thinking I may combine the two threads like you guys did and eventually will post an update/updated preview image.

Based on what freak69ize just said, is it safe to add the new images to the msstyles in restorator, or will they fade color? I'd like to start doing recolors using restorator only for the images because of the time save, but only if there isn't a drawback to that method.

freak69ize
August 25th, 2016, 03:37 PM
Very useful, I'm thinking I may combine the two threads like you guys did and eventually will post an update/updated preview image.

Based on what freak69ize just said, is it safe to add the new images to the msstyles in restorator, or will they fade color? I'd like to start doing recolors using restorator only for the images because of the time save, but only if there isn't a drawback to that method.

Usually things like start menu and task bar all come out looking fine for me. Some images are of a different shade of color and may come out darker or lighter color. Say youre coloring something to red.. it's very possible if you batch color all the red images from the image folder you dragged from restorator.. you may come out with some pink images. I make a new folder on desktop.. drag all start menu, task bar images and any image that looks the same color and batch recolor them to red.. drag back into restorator.. save file. All explorer and other images i do from edit image inside PS. It's a pain in the arse but i think it's still faster than doing it all from wsb

Mr GRiM
August 25th, 2016, 07:14 PM
Very useful, I'm thinking I may combine the two threads like you guys did and eventually will post an update/updated preview image.

Based on what freak69ize just said, is it safe to add the new images to the msstyles in restorator, or will they fade color? I'd like to start doing recolors using restorator only for the images because of the time save, but only if there isn't a drawback to that method.

No recolors should be made with only Restorator, you should avoid adding images back to restorator if they haven't been exported from WSB with their alpha premultiplication, if there is no transparency on the image at all then it's probably OK but otherwise they should be done in WSB.

Mr GRiM
August 25th, 2016, 07:28 PM
This might be the better option instead of using WSB, you could probably do the whole thing with this tool and Restorator http://www.imagemagick.org/script/command-line-tools.php

There was also another interesting thread on the topic of creating premultiplied alpha images out of PNGs as well here http://imagemagick.org/discourse-server/viewtopic.php?t=23463

Shemhamforash
August 26th, 2016, 03:31 PM
This might be the better option instead of using WSB, you could probably do the whole thing with this tool and Restorator http://www.imagemagick.org/script/command-line-tools.php

There was also another interesting thread on the topic of creating premultiplied alpha images out of PNGs as well here http://imagemagick.org/discourse-server/viewtopic.php?t=23463

I will try this out eventually, thanks.

Hopefully I'm doing these images right, I'm replacing all those images that need to be by searching values for the image in the red theme, editing in WSB and then saving the image as a .png in PS than importing into the slate theme. The images look better so it seems OK.

Edit: Now I see the checkbox for don't undo premultiplication. But since I'm using two instances of WSB at a time, one the slate theme and one the red theme, what I'm doing is just saving the image from PS, and then importing into the slate theme. Is that right or do I need to import it into the red theme and then export the image checking that box?

Mr GRiM
August 26th, 2016, 05:14 PM
I will try this out eventually, thanks.

Hopefully I'm doing these images right, I'm replacing all those images that need to be by searching values for the image in the red theme, editing in WSB and then saving the image as a .png in PS than importing into the slate theme. The images look better so it seems OK.

Edit: Now I see the checkbox for don't undo premultiplication. But since I'm using two instances of WSB at a time, one the slate theme and one the red theme, what I'm doing is just saving the image from PS, and then importing into the slate theme. Is that right or do I need to import it into the red theme and then export the image checking that box?

Either way is OK most of the time but checking the premultiplication box ensures that it will not change when importing it back in and it also enables you to import it using Restorator.

Shemhamforash
August 26th, 2016, 05:36 PM
Either way is OK most of the time but checking the premultiplication box ensures that it will not change when importing it back in and it also enables you to import it using Restorator.

It looks to me like all the images changed noticeably after 1. Hitting edit image on the red theme 2. Saving image to desktop using PS 3. Replacing slate theme images. The only ones I couldn't notice immediate difference most likely due to being at 100px was the scrollbar arrows and the breadcrumb search images.

It seems like it would be an extra step to import the images into the red theme and check the premultiplication box, export that image and then import it into the slate theme. Just trying to get my head around that one, I know that is what you said originally to do but if I'm editing the .msstyles using WSB only I'm guessing I'm good just saving the image to desktop using PS after hitting edit image inside of WSB.

It was really helpful with the HUD images you linked, I was able to replace all the ones you attached without any issues, now I just need to update the white HUD theme and I can continue with the first purple theme recolor, I'm not planning on using Restorator for anything other than I have used it for extracting all the images, double checking images have been replaced at the end. I will change those few images at the end that appear incorrect from Restorator using edit image in WSB.

Shemhamforash
August 26th, 2016, 06:53 PM
Looking at the slate recolor I did of the white HUD theme, since I didn't use Restorator for mass extracting of all the theme's images to recolor, this one does not seem to have any images that need to be corrected. Let me know if you have seen otherwise. It seems just the black theme needed those corrections from my end at least.

Mr GRiM
August 26th, 2016, 11:15 PM
It looks to me like all the images changed noticeably after 1. Hitting edit image on the red theme 2. Saving image to desktop using PS 3. Replacing slate theme images. The only ones I couldn't notice immediate difference most likely due to being at 100px was the scrollbar arrows and the breadcrumb search images.

It seems like it would be an extra step to import the images into the red theme and check the premultiplication box, export that image and then import it into the slate theme. Just trying to get my head around that one, I know that is what you said originally to do but if I'm editing the .msstyles using WSB only I'm guessing I'm good just saving the image to desktop using PS after hitting edit image inside of WSB.

It was really helpful with the HUD images you linked, I was able to replace all the ones you attached without any issues, now I just need to update the white HUD theme and I can continue with the first purple theme recolor, I'm not planning on using Restorator for anything other than I have used it for extracting all the images, double checking images have been replaced at the end. I will change those few images at the end that appear incorrect from Restorator using edit image in WSB.

I found out some more interesting info about fixing images that you have already done to avoid having to recolor them again, open one of the images in Photoshop that has become darker then go Layer > Matting > Remove Black Matte this removes the alphapremultiplication and then you can save it again and it will be fixed.

Shemhamforash
August 27th, 2016, 06:26 PM
I found out some more interesting info about fixing images that you have already done to avoid having to recolor them again, open one of the images in Photoshop that has become darker then go Layer > Matting > Remove Black Matte this removes the alphapremultiplication and then you can save it again and it will be fixed.

This is much easier since they're already recolored just removing the Black Matte. I could set that up as a batch command for all the recolored images. On the other hand I have a hard time seeing a difference for example in the Programs image in your post versus before removing black matte. I was using the eye dropper tool and it wasn't detecting any darker colors. I did remove the Black Matte from the start menu images you earlier linked in an archive, and that worked well.

Edit: Just applied the batch remove black matte. There are quite a few images that need the fix anyways, so I figure I will just replace purple recolored images I already added with the recolored images that have black matte removed, just to be on the safe side.

MassiveAtoms
January 29th, 2020, 10:23 AM
I have a question that's somewhat related. I started with trying to create my own theme 2 days ago, and one of the things that really annoy me is that whenever I start WSB, that I loose my custom palette. Is there any way to save my palette before exiting WSB?

nnq2603
October 12th, 2022, 09:04 AM
The topic was quite old. But I have some question regard to recolor theme win 10.

So what's the fastest/most automatic method to create a color inverted version of a win10 (*.msstyles) theme?

I tried drag+drop IMAGE folder from Restorator out to a folder in Documents. Batch invert them. I assume I have to batch removing Black matte (I missed this step on some attemps before reading this). And then drag+drop whole IMAGE folder back into Restorator? <--- Is this correct method for all images in the msstyles file for Win10?

Now, assume all images are correct, then next step how to change all text color to their inverted color fastest way possible? Because in windows theme, text color properties are placed very scattered (at least from the way we edit/modify them inside WSB). So we have to go 1 by 1 for text color until we test theme without error? Is there any faster/more automatic way for text recoloring?

Shemhamforash
October 12th, 2022, 01:09 PM
The topic was quite old. But I have some question regard to recolor theme win 10.

So what's the fastest/most automatic method to create a color inverted version of a win10 (*.msstyles) theme?

I tried drag+drop IMAGE folder from Restorator out to a folder in Documents. Batch invert them. I assume I have to batch removing Black matte (I missed this step on some attemps before reading this). And then drag+drop whole IMAGE folder back into Restorator? <--- Is this correct method for all images in the msstyles file for Win10?

Now, assume all images are correct, then next step how to change all text color to their inverted color fastest way possible? Because in windows theme, text color properties are placed very scattered (at least from the way we edit/modify them inside WSB). So we have to go 1 by 1 for text color until we test theme without error? Is there any faster/more automatic way for text recoloring?

Yes, first you would remove the black matte. Once your images are inverted you should use the Color Replacer tool in WSB to change the text colors. Next, expand all of the trees in WSB and drag and drop each individual image into WSB. Also I think there is an option to search image by number in WSB. At the same time double check all the text got recoloured as some custom colors of the original theme could still be present.

nnq2603
October 18th, 2022, 09:28 AM
Next, expand all of the trees in WSB and drag and drop each individual image into WSB.
Thanks, so it can't be fast with this recoloring task, right? It's even slower than what I imagine. There's like more than 700 of them to drag/drop. Each images takes focus and repetition with 700 images to different slots would be so tedious. So I guess a person need to be quite patient for this task because it takes as long as the time for some heavy modifying/editing a theme. I used to think Windows visual modders/customizers have some more automatical ways to do this.
92225
About text recoloring, I still don't think Color Replacer would go well unless the text in a certain theme are so unique in color that they don't share those exact color with anything else in theme interface (like fillcolor,...). AFAIK there is no WSB build-in tool to work only with text, they affect all color in theme, so using it would make us have to find and fix more issues than it solves :D.

MOST_WASTED
October 18th, 2022, 05:09 PM
...I used to think Windows visual modders/customizers have some more automatical ways to do this.. 3 basic things one needs to be a theme creator: The skill, the software, and time...lots and lots of time. But there is automation software like keyboard & mouse action recorders that could sometimes help cut the time in half. But half of a year is still 6 months lol

nnq2603
October 19th, 2022, 02:50 AM
Yes, to be clear, I always appreciate all the works from you and other designers/customizers here put into amazing free themes in the website. Just I thought the recoloring task is somewhat a sub/secondary task in theme customizing, so customizers probably want to spend their time in creating their new theme rather than recoloring (if it took that much time)). But they did release many recoloring themes, so I thought probably they must use some really fast method (at least they released recoloring versions of themes faster than actual new themes). Just some curious thoughts anyway, thanks for answer.