.NET Graphics on Windows 7: White corners around images? - vb.net

I've been working on some custom graphics controls, and I found this weird problem with windows 7 rendering my button controls. I've used Photoshop to delete the pixels in the background all around the button image I'm using, then saved it as a GIF, and imported it into VS to use as the background image of my button. When windows XP renders it, it is fine, but when windows 7 renders it, all 4 corners have an odd white border around them.
You can barely see them in this pic, but they are much more apparent when looking at them on the client PC's.
Is there something wrong with the way I am transfering the image? should I not use a gif? is there something wrong with the way I am displaying it on the button? What can I do about it?

GIF was a bad choice, it can only render images with 256 colors. You need all the colors you can get to make the anti-aliasing work properly. Use PNG.
You will also need to make sure that the background color of the container is the same as the one you used in Photoshop, the anti-aliasing pixels will otherwise have the wrong colors. And you cannot stretch the image, that will also stretch the anti-aliasing pixels, ruining the effect.

Related

Picture Box and Form Transparency

Maybe I am missing something, but is it the case that when you set a pictureboxes background to transparent, all it really does is set it to the same color as the forms background?
What I am trying to do is draw an animation for the benefit of this, a bouncing ball - which I paint on the form, then overlay that with a picture frame. End result should be a bouncing ball in a picture frame, I should mention that the picture frame does not have a straight edge, so it is not possible to arrange 4 picture boxes in a frame. The ball needs to vanish behind the frame to change color and then magically bounce back out.
I have tried:
1.Setting the picture box background to pink and then key out the same pink, this basically cuts away everything, including that which is behind the picture box
2.Setting the picture box to transparent, this just displays the picture box background as the same color as the forms background.
3.I have tried painting the image in a rectangle, this had the same effect as drawing it in a picture box.
I am not sure what I am doing wrong, I am wondering if there is any other ways I could try or if someone has made a custom control or library that supports transparency?
Try using a Panel with the background image set. This is because; as you said: the transparent option only takes the backcolour of the parent.
After doing some more in depth research I solved this by drawing both the images to the form using PaintEventArgs and me.paint
Making each image transparent using:
Dim TestImage as Bitmap
TestImage.MakeTransparent(<Transparency Color>)
Thank you to both of you for your replies though.
Hmm... If You want to use Picturebox and get a transparent image,
Try to set picturebox's background as your 'Ball' (probably you need an image editor).
and set picturebox transparent. It worked for me (VS Express 2010) once.

PDFSharp - Report Document Colors and Transparency

I am having some problems with the PDF files that I make using the PDFSharp library. The files are ok as long as I am viewing them normally.
However I need these files to be changed using the accessibility options (Edit -> Preferences -> Accessibility (in the left menu Categories) -> Report Document Colors -> Custom Color). Whenever there is image with transperancy and/or transparent masks and the Background color is set to black everything disappears.
I looked at the PDFSharp code and it seems that they are setting some transparent SMask, which I did not find to do anything noticeable (at least for me), but I am not sure if I disable it will it screw up something that I cannot think of.
Most probably I won't get help on this one, but I hope that someone knows something more about this problem with PDF Transparency and the Accessibility options.
The transparency mask is created for images with transparency only.
So if your images contain black lines and a transparent background and you change the color of PDF pages to black, you will see black lines on a black background - you will see nothing.
If your images contain black lines on a white background, you will see your image as you know it: black lines on a white background.
Transparency is a feature, it's optional.
Maybe there's a bug in PDFsharp. If I watch the output of the Graphics sample with black background color, pages 4 and 5 are completely black (looks wrong to me).
The output of the Hello MigraDoc sample looks correct to me. The image on page 1 does not use transparency and keeps it white background, the chart on page 6 is transparent (which leads to black lines on a black background).
But maybe that's a bug in Adobe Reader - everything looks fine if I do not set a background color, but activate the transparency grid instead.
If you think that your images do not contain transparency, then we'll need files (PDF and image) for further examination.
Edit: I just checked the output of the Graphics sample with Adobe Acrobat 5 - all pages display correctly even with black background color. With Adobe Acrobat 8 and Adobe Reader X pages 4 and 5 are black. Looks like a bug in Adobe Acrobat/Reader to me.

What's the best way to get around the lack of transparency in WixUI background images?

I'm using the Feature Tree UI, with a couple of custom dialogs. One of these has checkboxes on it. These checkboxes cannot be made to have transparent backgrounds, meaning I've had to colour in my background image the default background colour so that there aren't visible boxes around the checkboxes.
However, different versions of Windows have different default colouring! If I match the colour on Windows 7, it looks bad on XP, etc. Since the background images are Bitmaps, I can't make them transparent. What can I do to get around this problem?
From the WiX tutorial UI revisited chapter:
And a common complaint: no, the checkbox can't have a transparent
background. If you have a bitmap in the background, it will be ugly,
just like in our example above. The only workaround is to reduce the
width of the checkbox to the actual box itself and to place an
additional static text (these can be made transparent) adjacent to it.
This workaround has a side effect, although: in order to turn the checkbox on and off, you should click exactly in the box area, not the text. Comparing to the rest of Windows Installer UI limitations, it's slightly annoying :-)
Windows installer supports 32-bit bitmaps (ARGB), which means that the bitmap can be made transparent to show the default windows background color. This means, once your (not transparent) check-box is placed on top, you won't see the ugly box around the text, because it's the same color.
Note that windows photo viewer and the thumbnail preview in explorer DONT support transparencies, so you'll have to build and run your installer to see it working =D.
I used gimp to export to BMP with a transparency and it worked just fine with WIX.

VB.net transparent png overlaying each other.. getting Form Background color

Trying to start a game that involve in a lot of .png and animation.
All these .png are already transparent and set to an individual picture box when i overlay one over the other. There "transparency" actually gets the form background color. and not i'm not able to see through the image behind it.
i set the forecolor to transparent in the attribute am i missing something?
*side question... should i make my game in vb.net if it using a lot of images and animations files? (working solo might get my friend to help later)
Example pictures
well, this is a bit old, but check my answer here :
Make Picturebox transparent over other picturebox?

Chaning the background color around a PDF in a UIWebView on Device

I'm using a webview to display a PDF.
The webview displays the PDF at it's actual size which is a little smaller than the size of the webvieww itself, revealing the scroll view underneath it.
I've tried setting the Webview to opaque and setting it's background color to another color, which works fine and dandy in the simulator, but fails to change the color on the device. On the device it changes the color of the background of the view behind the scroll view, this can be seen when the PDF is pulled all the way down.
I've also tried setting all the UIView's backgrounds, by iterating through the subviews but to no avail.
I've updated a diagram to help illustrate which area I'd like to color.
Uploaded Diagram
You really shouldn't mess around with UIWebView's internals.
They can change anytime and your code might just crash on the next version of iOS.
If you need more control about pdf display, you might wanna take a look at other possibilities to show pdf, like using the CGPDFDrawPage* functions. Of course they are pretty low-level and it's a lot of work required until you can get fast page display, zooming, etc all right.