Solved

White colour on icon

Posted on 2003-11-28
4
391 Views
Last Modified: 2010-04-05
Hi,

I have an 8-colour 32 x 32 icon (.ico file), which I use throughout my program for its logo.  When it is displayed full-size in either Windows Explorer or in a TImage component, white parts on the image are displayed in white as expected.  However, when the icon is displayed half-size, such as when used as an icon in the form and appears on the taskbar, the white appears transparent, so grey (Window's background colour) shows up instead of white for those areas.

So why is it that when displayed full-size, white is correctly displayed but when it is half-size, white is transparent and appears grey?  I'd prefer it if the white areas on the image always appear white or at least be consistent when displayed in different sizes.

I'm using Windows '98 SE and Delphi 4 Pro.

Thanks in Advance,

Richard
0
Comment
Question by:Richard2000
4 Comments
 
LVL 7

Expert Comment

by:sftweng
ID: 9839501
Try dropping a single pixel of a colour you don't use into the bottom left corner - it's sometimes used as the "transparency" colour.
0
 

Expert Comment

by:mehdi_m
ID: 9839757
if you wanna show the icon in the title-bar of form's, by default it is transparent. when an image is transparent means that the transparent color of the image (left-bottom pixel's color of it) will be replaced with parent color. (as sftweng said before). and now if you want to have the same effect in logo or ... that you made. it depends on the component which do you use. for example if you use TImage, it's enough to set the transparent property to True.

hope to be usefull.

mehdi_m
0
 
LVL 34

Accepted Solution

by:
Slick812 earned 50 total points
ID: 9841007
hello Richard2000, Icons are completely Handled by the "windows system", and changing a pixel  probally will not change anything in your icon except that pixel, because the system gets it's Icon transpanency pixel definitions from a Black and White "MasK"  bitmap that is also in the Icon file wilth the color bitmap., If you are having trouble with the white areas becomeing transparent, it might be because the desingners of the Icon were not very good, and should have tested the Icon to see how it looked in the 16x16 size, The system will automatically make a 16x16 Icon if one is not in the Icon resource or file, and it will resize the "Mask" bitmap to 16x16, however, this resize can throw off some pixels because it has to average out some resized pixels. . . You might should get an Icon Editor, and include a 16x16 Icon in the Icon file along with a 32x32 icon and a 48x48 icon for windows XP. . . . I do not know of any way to get the system to alter the way it resizes an Icon, but a well made Icon will be tested and look OK in the 16x16 size
0
 

Author Comment

by:Richard2000
ID: 9851576
Hi,

Thank you for your help.

After looking at the icon further, I have found that the icon actually contains two images, one for 32 x 32 and one for 16 x 16 (I had originally assumed there was only one 32 x 32 image).  An area on the 32 x 32 image uses white, whilst the same area on the 16 x 16 image uses grey instead.  I assume that this is because as the 16 x 16 image is smaller, it does not need to be as bright in that area.  So everything appears to be working as expected.

There is no 48 x 48 image at present, but I can always add one in the future if required.

Richard
0

Featured Post

Networking for the Cloud Era

Join Microsoft and Riverbed for a discussion and demonstration of enhancements to SteelConnect:
-One-click orchestration and cloud connectivity in Azure environments
-Tight integration of SD-WAN and WAN optimization capabilities
-Scalability and resiliency equal to a data center

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

This article explains how to create forms/units independent of other forms/units object names in a delphi project. Have you ever created a form for user input in a Delphi project and then had the need to have that same form in a other Delphi proj…
Introduction Raise your hands if you were as upset with FireMonkey as I was when I discovered that there was no TListview.  I use TListView in almost all of my applications I've written, and I was not going to compromise by resorting to TStringGrid…
Microsoft Active Directory, the widely used IT infrastructure, is known for its high risk of credential theft. The best way to test your Active Directory’s vulnerabilities to pass-the-ticket, pass-the-hash, privilege escalation, and malware attacks …
This video shows how to quickly and easily add an email signature for all users on Exchange 2016. The resulting signature is applied on a server level by Exchange Online. The email signature template has been downloaded from: www.mail-signatures…

840 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question