How to deal with transparency, variable background color and unsightly edges?

I am a software developer, only know the Photoshop basics.
A graphic professional designed for me an icon with transparent background. On some backgrounds it looks fine, but on other backgrounds the edges look bad. I read an Internet article that the problem is that the pixels should merge smoothly into the background. I understand how that workd provided that the background is a known constant (in math terms). My program may run on different versions of Windows, with different window styles (Classic Look, XP Look) and hence the backgrounds are variable.
How can an icon be designed so it blends smoothly into a background whose color is not known at design time?
TIA,
-Ramon

What version of Windows? If you are just using Vista and W7, you can use 24bit PNGs with proper Alpha channels as your icon resource. I think they prefer straight Alpha, but you may laso be able to use black or medium grey on the RGB channels hen it's premultiplied. (there's a guide somewhere on MS' developers' pages). For XP you are of course stuck with palette-based BMPs/ ICOs, which is no different than when creating GIFs or 8bit PNGs in PS. Generally, though, you may wish to work with a dedicated editor like Axialis Icon Workshop, especially when needing to create multiple versions of an icon. The rest is out of your hands. Some icons will always look frizzled, if the user applies an all too wild color scheme. It's just how it is....
Mylenium

Similar Messages

  • Mm issue:-how to deal with  gds sent for repairs and again issued for consm

    The main problem is that if something come for repairing it increase the stock for one period and decrease the R and M for that period. And when after 4 months when goods are received after repairing it disturbs the R and M expense in another period.  And this also disturbs the valuation of the material.
    Any one can suggest how to deal with the repairs done to materials without affecting the valuation price of  original material.
    my points is how everyone in india is dealing with goods sent for repairs outside their company.
    what all entries are generated from first receipt of goods in company till  good sent for consumption after received from vendor who repaired the goods.
    all a/c and mm entries

    what we have decided that we would have 2 valuation type
    1. sap-domestic :- normal stock
    2. sap-use/repair :- repaired items.
    All the goods should be received using sap-domestic valuation. from here goods are sent to shop floor. when ever repair is required goods are received in stock thru sap-use-repair at value zero and not moving price specific to sap-use/repair valuation.
    so till goods that require repair and that already repaired are kept in stock, they are kept at 2 different values one is zero and other is moving price specific to valuation type sap-use/repair.
    now goods are sent for repair at zero value but when these goods are received after repair then value of repair will affect the moving price of valution sap-use/rep.
    so this will solve our problem that goods should be received from shop floor to stock for repair at value zero.
    how can we achieve this that goods received from shop floor to stock for repair is received at zero value and not moving price specific to valuation sap-use/rep. where we will have do setting in this vaution type or wherever required.
    pls send some suggestions on it

  • How to deal with transparent Flash ? Does WMODE work ?

    I'm using LabVIEW 8.5.1 and i have an ActivX object with a flash movie into.
    I have a transparent background in my movie and wants it to work in LabVIEW.
    There is the methode wmode included in the object.  I set it to "transparent" like in a html webpage but i still get a white background.
    Does wmode works in LabVIEW ?
    Is there an other solution ?
    Thank you

    It may be that the OP wants the ActiveX control itself to be transparent, so that possible other LabVIEW controls beneath might show through. And I believe the ActiveX control does not support that in any way. Not even fully shure how that would work, but possibly ActiveX allows that option nowadays, but as said I don't think the LabVIEW container supports that.
    Rolf Kalbermatter
    CIT Engineering Netherlands
    a division of Test & Measurement Solutions

  • How to deal with Null Variables

     AND (CONVERT(varchar, CAST(rtrim(SH.ship_dt) AS datetime), 101) = (CONVERT(varchar, (DATEADD(day, -1, GETDATE())), 101)))
    This part of my where clause results in a NULL causing my job to fail since it is setting an integer variable.  Any tips? I've tried using ISNULL and can't seem to place it correctly.
    Erika

    Yes, the null column is ship_dt. When i used that it gave me an error message 245
    Msg 245 Conversion failed when converting the varchar value '1900-01-01' to data type int.
    Here is the entire portion with the suggestion above and my original commented out
    DECLARE @PlasticCountItem DECIMAL(5,0)
    SET @PlasticCountItem = 
    CAST((
    SELECT SUM(OL.qty_ordered)
    FROM OEORDLIN_SQL AS OL 
    INNER JOIN OEORDHDR_SQL AS OH ON OL.ord_no = OH.ord_no 
    LEFT OUTER JOIN ARSHTTBL AS SH ON ltrim(OL.ord_no) = cast(SH.ord_no AS int) AND OL.item_no = SH.filler_0001 
    LEFT OUTER JOIN OECUSITM_SQL AS CI ON OL.item_no = CI.item_no AND OH.cus_no = CI.cus_no 
    LEFT OUTER JOIN EDCSHVFL_SQL AS XX ON SH.carrier_cd = XX.mac_ship_via 
    INNER JOIN imitmidx_sql AS IM ON OL.item_no=IM.item_no 
    WHERE /* INITIAL WHERE CLAUSE */ 
     OH.ord_type = 'O' 
     AND SH.void_fg IS NULL 
     AND NOT SH.hand_chg IS NULL 
     AND (OH.ord_no IN (SELECT DISTINCT cast(OH.ord_no AS int) FROM arshttbl))
     /*ONLY ORDERS SHIPPED YESTERDAY*/
     --AND (CONVERT(varchar, CAST(rtrim(SH.ship_dt) AS datetime), 101) = (CONVERT(varchar, (DATEADD(day, -1, GETDATE())), 101)))
     AND (CONVERT(varchar, CAST(rtrim(COALESCE(SH.ship_dt,'1900-01-01')) AS datetime), 101) = (CONVERT(varchar, (DATEADD(day, -1, GETDATE())), 101)))
     /*FOR ONLY 1 SHOP*/
     AND (SH.mode = '1') 
     /*EXCLUDE FAKE ITEMS AND MANUAL ENTRIES TO ARSHTTBL*/
     AND NOT IM.mat_cost_type in ('6','N') AND NOT OL.item_no in ('TREATED PALLET') AND NOT (SH.mode = '9'))
              as int)
    Erika

  • How to deal with dynamic IP address changes

    I have installed Fodero C3 and Oracle 10g successfully. Oracle 10g use web OEM console to manage database. However, my internet provider only provided me a dynamic IP address. When I installed Fedora C3, Linux server automatically picked a Hostname like " ip12-345-678-90.dc.dc.cox.net". After I created database, all database files also used this hostname. Then Oracle web OEM console worked fine. Due to the dynamic IP address assigned by ISP, their DHCP server changed the first part of IP address(ip12-345-678-90)frequently to another one. After IP address changed, I couldn't start up web OEM console and listener because they couldn't find correct hostname (IP address). I have talked to my ISP. It seems that it can not be solved. Anyone knows how to deal with this problem through 10g and OEM console themseleves. I also think about to configure Linux server to solve the problem. I really need your help. Thanks in advance

    Thank all of you so much to respond my questions. I think I have solved the problem. Since the key point was that Oracle 10g OEM console could not work with the frequent changes of IP address made by my ISP. I just bought a 54G wireless router. Then connecting router to cable modem. The cable modem still gets the dynamic IP from ISP, but the router automatically assigned a static IP address to my Linux system with the range from 192.168.0.0 - 192.168.255.255. This IP was control by my router. It is nothing to do with ISP. So I re-created Oracle database with this new static IP. Then OEM console and listener can startup and connect to database without problem. I do think other guru's methods also will work. I just have no time to try them one by one. Thanks again. Your inputs make me learn many things.

  • How does one deal with transparency in a placed file in InDesign?

    I suppose this may seem elementary, but I'm relatively new to it so here goes:
    First off, my print shop says that placed images should be in EPS format. I'm creating my files in Illustrator and some of them use a gradient mask to fade an object away. When saved as an EPS, the gradient mask shows as a white box instead of fading into the background. When I copy/paste my Illustrator image into a new Photoshop file, save it as a PSD, bring that PSD into Illustrator and save it as an EPS, the whole file is in a white box.
    Example. I want those aisle markers to not be in white boxes.
    http://i.imgur.com/lZjtu.jpg
    How does one deal with transparency in a placed image in InDesign?
    Thanks.

    If possible, one finds a new printer who can handle your files properly and doesn't insist on .eps.
    What format are you delivering to the Printer? If it's anything other than PDF (and that's at their request) all the more reason to reread the first sentence. Why on earth are you moving things from Illustrator to Photoshop and back to Illustrator? Either one of those will save as .eps (ugh), though you need to use a clipping path for transparent areas coming out of photoshop (don't really know how Illy handles it when you say to save .eps with transparent background), but you are FAR better off with either native .AI or .PSD, both of which support transparencey, unlike .eps.If yo are delivering PDF, as you should be, it makes no difference to the printer what format the placed content uses (and it shouldn't matter to him even with native files unless he's hopelessly stuck in the 90s).
    In any event, when importing from Illustrator, make sure to show the import options and check the transparent background box.

  • How to get a layer's background color with AE SDK

    Hello,
    I am trying to get the color of the background for my current layer but I can't seem to find how to do it.
    By background color, I don't mean the application's background color, but the color that shows through if I set the alpha of my pixels to 0.
    For example, suppose the composition background is black, I put a green solid on top of it, then put an image on top of the solid and apply my pug-in to the image.
    If I set the alpha to zero in my plug-in, the solid's green will show up.
    So I want to be able to find out that my background is green.
    I already tried using PF_AppGetBgColor() but that returns the application's background color, which is not green in this example.
    If you want more details about what I want to do, I have plug-in P1 which sets some pixels to 0-alpha. On top of it I apply another plug-in P2 which reveals 0-alpha pixels by blending them with some color.
    What happens now is that the output is the original image's color blended with P2's color (because P1 only modified the pixels' alpha).
    What I want is to have the color showing through the transparent pixels of P1 blended with P2's color.
    To do that, I would like to be able to set the color of the 0-alpha pixels to the background's color in P1.
    Sorry for the long question.
    Thanks for your suggestions.

    hello nicolas.
    if i understood you correctly, what you're trying to get it the image buffer of the composited layers, beneath the layer with your effect.
    if that is correct, then i'm afraid it's next to impossible to do.
    when AE renders a composition it doesn't do it bottom to top. it tries to do the opposite actually.
    why? because if at a certain point the buffer is fully opaque, then it doesn't need to render what's beneath.
    further more, checked out layers change the order rendering, and many other things affect the rendering order of the layers.
    besides that, there's no API for accessing intermediate comp buffers. just the final result.
    the closest you can get to that without turning the world over, is to use AEGP_GetCompBGColor(),
    which would prove useless to you as the image doesn't get composited over that color, unless that's the comp being saved to file.
    so why did i say "next to impossible"?
    you can turn the world around.
    you can write an AEGP of type "artisan". (look at the "arti" sample)
    these plug-ins render comps (instead of the "advanced3D" renderer)
    an artisan does have intermediate comp results, as it is the one doing the rendering.
    so now you can have your artisan save the buffer you need, and deliver it to your effect.
    i must warn you that doing this is very very very difficult.
    another possible solution is to create a duplicate of the comp in which your effect resides,
    erase all layers who's image you don't need, and render that duplicated comp using AEGP_GetReceiptWorld().
    if you use this method, you have to supervise the original comp, and apply changes to the duplicate.
    yes, that too is difficult to do.
    you could make a change in strategy, and apply your effect on an adjustment layer instead.
    the input for the adjustment layer is the composited buffer of underlying layers.
    then you could get the original sources you wish to process using checked out layer params.
    the last solution i can think of is using the sampleImage() expression on a hidden param.
    this will give you pixel data from any layer in the comp, but not the composite of the underlying layers.
    maybe if you tried sampling an adjustment layers post effects... i don't know. you'll have to try.
    this method is very slow, and is also limited to time out, so you can't get a large number of pixels.
    the expression will simply fail.
    i hope it hasn't been all bad news for you.
    maybe of you told more about the plug-in you're developing i could come up with a better plan.

  • How do I change the tab background color in Firefox 4?

    I just upgraded to Firefox 4. Tabs are now fine black font on dark grey background -- very hard to read. How do I change the tab background color?
    I have searched and the closest I can come is some instructions for modifying .css files, and it is not clear that those instructions will impact the tab background color.
    Thanks in advance for your help.

    Similar question asked by TH received another response.
    Here is the address of that question and answer:
    https://support.mozilla.com/en-US/questions/804464?s=change+tab+color+firefox+4&as=s
    I like the solution recommended there.
    Added information - after several days experience, I notice that some tabs occasionally revert to the original dark grey. So I am still looking for a better solution, ideally within Firefox rather than via add on. This seems like a basic setting for the browser that should be easy to change, rather than something so complex that I need an add on to change it. Or just build it without such a dark grey background to begin with and I would not need to change it.

  • How do I apply a specific background color in InDesign?

    The background color is identified in Ps as "edf7e4", and it is a very pale green.  How do I make this the background color for my book cover in InDesign?

    You must add a frame to your cover page(s) at the bottom of the stack and fill it with the color that you wish to use (you can keep the RGB definiton and convert on export, too, if you need CMYK for press). Don't forget to bleed the edges where required.

  • How do I change the white background color in a b/w line drawing jpg?

    How do I change the white background color in a b/w line drawing jpg?

    Just put a Solid Color Layer atop it and set it to Blend Mode Multiply or
    • load the Channel with the best contrast (cmd-click it in the Channels Panel)
    • invert Selection (cmd-I)
    • create a black Solid Color Layer
    • put whatever below that Layer

  • How to change the particular column background  color in jTable?

    I am woking with a project, in which I am using a jTable. Then
    How to change the particular column background color in jTable?

    Use a custom Renderer. This is the JTable tutorial:
    http://java.sun.com/docs/books/tutorial/uiswing/components/table.html

  • How to deal with the rule that do not use "object" class to declear a class

    I run my flex project in sonar. And there is a rule "Do not use Object class ".
    I just want to know how to deal with this problem.
    I mean, when I try to write a base class, I don't know which kind of class will be transfered in by reference, which type I can declear instead of "object"?

    Check out this example:
    The moment I put in the code >> box1.addItem("hello"); << and run the application, the BusNameListener is fired. Hope this makes sense.
    import java.awt.*;
    import javax.swing.*;
    import java.awt.event.ActionListener;
    import java.awt.event.ActionEvent;
    public class JFrameExample {
    private JComboBox box1;
    public JFrameExample() {
    box1 = new JComboBox();
    box1 .setMinimumSize(new Dimension(300, 24));
    box1 .setPreferredSize(new Dimension(300, 24));
    box1.addActionListener(new BusNameListener());
    box1.addItem("hello");
    JFrame f = new JFrame("This is a test");
    f.setSize(400, 150);
    Container content = f.getContentPane();
    // content.setBackground(Color.white);
    content.setLayout(new FlowLayout());
    content.add(box1);
    f.setVisible(true);
    class BusNameListener implements ActionListener {
    public void actionPerformed(ActionEvent e) {
    JComboBox cb = (JComboBox) e.getSource();
    String item = (String) cb.getSelectedItem();
    if (item != null) {
    JOptionPane.showInputDialog(null,
    "Specify...", "File Import",
    JOptionPane.OK_CANCEL_OPTION);
    }

  • How to deal with NULL when using OCI

    I tried to select some data from a table, and some of them are
    null.
    Can anybody tell me how to deal with the null value?
    Thanks!

    See the documentation on 'indicator variables'. This is the
    correct way of dealing with reading and/or writing NULL data
    for a table.

  • How to deal with deadlock on wwv_flow_data table when http server times out

    There are some threads about a deadlock on the wwv_flow_data table. None of them contain a real explanation for this behaviour. In my case I will try to explain what I think is happening. Maybe it helps somebody who is hitting the same matter.
    In my case with APEX 3.2.1 I am navigating from one page to another. Doing this APEX will lock the table wwv_flow_data. As soon as the other page is shown the lock will be released. But now this other page contains a bad performing query (standaard report region). After 5 minutes the http server (modplsql) will time out and present the message "No response from the application server" on the screen. In the meanwhile the query is still running on the database server and the lock stays on the wwv_flow_data table.
    Normal user behaviour will be that the user will use the back button to return to the previous page and tries it again to navigate to the other page or
    the user will try to refresh the page with the bad performing query.
    And voila now you will have a deadlock on the wwv_flow_data table since a second session is trying to do the same thing while the first hasn't finished yet.
    How to deal with it?
    First of all. Have a good look at the bad performing query. Maybe you can improve it that it will succeed before the http server will timeout.
    In my case the 11gr1 optimizer couldn't handle a subquery factoring clause in the best way. After changing it back to a classical inline query the problem was solved.
    Secondly you could increase the timeout parameter of the http server. Although this not the best way.
    Maybe it would better if APEX in a next version would release the lock on the table wwv_flow_date earlier or do a rollback just before the moment that the http server is timing out.
    regards,
    Mathieu Meeuwissen

    Hello Shmoove,
    I saw your reply here and you probably understand the problems the HTTP 100 response may cause.
    I am trying to send image that was taken by getSnapshot. The problem is that the server respond with this HTTP 100 message.
    I suspect that the reason that my server doesn't recognize the file that I'm sending from J2me is that the "server to client" response to the 100 message comes after the second message of (see what the TCPIP viewer shows down here):
    POST /up01/up02.aspx HTTP/1.1
    Content-Type: multipart/form-data; boundary=xxxxyyyyzzz
    Connection: Keep-Alive
    Content-length: 6294
    User-Agent: UNTRUSTED/1.0
    Host: szekely.dnsalias.com:80
    Transfer-Encoding: chunked
    400: Client to Server (126 bytes)
    78
    --xxxxyyyyzzz
    Content-Disposition: form-data; name="pic"; filename="david.jpg"
    Content-Type: application/octet-stream
    400: Connected to Server
    400: Server to Client (112 bytes)
    HTTP/1.1 100 Continue
    Server: Microsoft-IIS/5.1
    Date: Wed, 23 Mar 2005 00:47:02 GMT
    X-Powered-By: ASP.NET
    Any help will be appreciated,
    David

  • How can I create an alt background color for items in a jlistbox or jtree

    What I'm looking to do is have a white background for say items 1,3,5, etc. and a light yellow background for items 2,4,6, etc. I was wondering how can I set an alternative background color on items in a JTree or a JList

    Use a cell renderer:
    import java.awt.*;
    import javax.swing.*;
    public class ListAlternating extends JFrame
         public ListAlternating()
              String[] items = {"one", "two", "three", "four", "five", "six", "seven"};
              JList list = new JList( items );
              list.setVisibleRowCount(5);
              list.setCellRenderer( new MyCellRenderer() );
              JScrollPane scrollPane = new JScrollPane( list );
              getContentPane().add( scrollPane );
         public static void main(String[] args)
              ListAlternating frame = new ListAlternating();
              frame.setDefaultCloseOperation( EXIT_ON_CLOSE );
              frame.pack();
              frame.setLocationRelativeTo( null );
              frame.setVisible( true );
         class MyCellRenderer extends DefaultListCellRenderer
              public Component getListCellRendererComponent(
                   JList list, Object value, int index, boolean isSelected, boolean cellHasFocus)
                   super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus);
                   if (!isSelected)
                        setBackground(index % 2 == 0 ? list.getBackground() : Color.LIGHT_GRAY);
                   return this;
    }

Maybe you are looking for