Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 180384 - [Product Editor] Generate missing formats in .ico branding file
Summary: [Product Editor] Generate missing formats in .ico branding file
Status: RESOLVED WONTFIX
Alias: None
Product: PDE
Classification: Eclipse Project
Component: UI (show other bugs)
Version: 3.3   Edit
Hardware: PC Windows XP
: P3 enhancement (vote)
Target Milestone: ---   Edit
Assignee: PDE-UI-Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
: 130210 (view as bug list)
Depends on:
Blocks:
 
Reported: 2007-04-01 10:46 EDT by Kenneth Evans, Jr. CLA
Modified: 2011-06-15 17:17 EDT (History)
6 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Kenneth Evans, Jr. CLA 2007-04-01 10:46:15 EDT
I am entering this enhancement request per the suggestion for Bug
#118811.  There is more information there, but this is the summary:

In regard to the branding .ico file:

I think requiring the user to provide all the formats for the .ico
file is a significant hardship and quite unnecessary.  The format set
you require is not even standard.  It takes sophisticated graphics
programs to produce the higher-resolution formats, and they are not
needed.  It is an unnecessary penalty on developers.

And considering the effort that goes into almost every aspect of
Eclipse, the effort to provide automatic generation of the missing
formats would be small.

In the best of all possible worlds, the .ico file the user (developer)
provides would be incorporated into the eclipse.exe as is. (This is
what would happen if I made an application using Visual Studio, for
example.)  I understand this is easier if the icon resource is the
same size and has the same components as the template.  Consequently,
giving the developer a little help making what makes it easier for you
does not seem unreasonable.

Thanks,

-Ken
Comment 1 Wassim Melhem CLA 2007-04-01 11:40:17 EDT
I agree that would be useful (and would make the editor less busy).

>the effort to provide automatic generation of the missing formats would be >small

I, for one, have no idea how the missing images can be generated.  Do you have any insights?
Comment 2 Kenneth Evans, Jr. CLA 2007-04-01 12:55:31 EDT
Thanks for the prompt reply.  I have some insights, but I have not programmed Windows for some time and am not set up to do it now.

The original .ico file could be converted to an SWT image, first.  I don't know how to do that, and it might have to be a Windows program that does it by making intermediate, say PNG, images.

It could be an SWT program that resizes the images.  There are any number of straightforward ways to enlarge an image.  I do not know the SWT API for images.  With Swing you would make a BufferedImage and use the Java2D stuff.

It might need to be a Windows program that reconstructs the enhanced .ico file.

It needs to be a Windows program that sets the icon resource.  That presumably already exists and is what is being used now.

Of course it could all be done in a Windows program, using the Windows API.  This might be the best approach, but it takes a Windows programmer.

Whereas I could figure this out, it would take more time than I have available.  I don't have the knowledge now.  Surely, there is someone in Eclipse that knows both SWT and the Windows API and is already in business in both.  It isn't very hard, given you have the expertise.  It would be a relatively simple program.

Finally, I am not sure what you mean by the editor.  This is presumably done when building the xxx.exe for the RCP application, keeping in mind that xxx.exe appears to be the same as eclipse.exe except for the embedded icon resource.

Hope this helps,

     -Ken


Comment 3 Wassim Melhem CLA 2007-04-01 13:40:11 EDT
Steve, is there someone on SWT who would be able to help with this?
Comment 4 Mike Pawlowski CLA 2007-04-02 11:44:24 EDT
I can see how this can be a pain for developers having gone through this myself.  

I supplied the BMP images first in order to take advantage of free imaging programs such as MS Paint and Gimp.  This worked; but, I do not recommend it for a professionaly branded Windows product.

I ended up starting with a high resolution image (important) and using a Windows shareware program called Microangelo to easily generate the ICO and missing image formats (http://www.digibuy.com/cgi-bin/order.html?eclipsit ~ $60.00 CAD)

I have some reservations about trying to tackle this solution programatically.
First, it sounds like a probable solution will be Windows-centric and platform dependent.  Second, just because it may be technically possible to use SWT to enlarge (resample) an image dynamically, it does not mean this is a good idea.  Essentially, the enlarged image will look like crap (blocky, blurred, pixelated) due to the fact the source images resolution is too small.  Given Vista uses 256x256 icons, professional imaging software may be warranted.

Ken's excellent Windows link here:
http://msdn2.microsoft.com/en-us/library/ms997636.aspx
and this link here:
http://www.axialis.com/tutorials/tutorial-whatsanicon.html
incidentally suggest the images formats we should support are:
256 Colors - 16x16, 32x32, 48x48, 256x256
XP Alpha   - 16x16, 32x32, 48x48, 256x256

I'm willing to bet there is no Eclipse user out there on a 16 color display.

It may be worth investigating what other freeware / shareware programs are out there that could do this task for us:
http://www.tucows.com/Windows/DesignTools/IconCursorEditors/
http://www.tucows.com/Windows/DesignTools/IconTools/

Practically, from a PDE perspective, I think the best thing we can do for the average user in the Product Editor is have a set of three or more polished pre-generated ICO files containing all the required image formats that can be chosen and used on the fly (just like the default splash.bmp).  Professional users should opt to use professional imaging software such as Microangelo or Adobe Photoshop.

I am hoping we can remove the BMP image fields in the future...

Comment 5 Kenneth Evans, Jr. CLA 2007-04-02 13:16:21 EDT
I agree with Mike's comments, especially about the quality of larger images extrapolated from smaller images.  The problem is, as it stands, you either provide all the images or you have to use the Eclipse images.  There is no in between.  The only two image formats one usually sees in the Windows interface are 16x16 and 32x32.  I have been making applications for years with just these two and that works pretty well.  It covers most of the bases, and in those few cases where a larger image is shown, then Windows itself extrapolates.

I have been using Axialis Icon Workshop to get around this problem.  It is around $50.  It extrapolates any set of images to other sizes and does a decent job, keeping in mind that you can't create great large images from small ones.  It is easy to use and allows me the use my own images in RCP applications.  But why should I have to use it.  So far, all it buys me is that I don't have to use the Eclipse icon on my own application.  I am still only providing the two images and those are the only two that are really good.

I tend to have many smaller applications.  I just don't have the resources to provide all that artwork for each one.  If I just had to provide one set of images as Eclipse does, I could spend the extra time or have it done.

In any event I should be provided the option to provide whatever I can, not have this either-or situation with both alternatives having problems.

-Ken
Comment 6 Mike Pawlowski CLA 2007-04-11 11:56:58 EDT
*** Bug 130210 has been marked as a duplicate of this bug. ***
Comment 7 Curtis Windatt CLA 2011-06-15 17:17:03 EDT
While this still would be useful for developers.  It will only be fixed if someone contributes a patch.