I'm trying to create a "corona" effect (like the sun's corona) in an image using GIMP, but I'm having trouble editing only the alpha channel of the image.
I want the RGB to be pure white (255, 255, 255) and the alpha layer to have a brush effect applied to it. I know how to use the brush, but no matter what combination of masks or layer visibility / channel visibility settings I try, it will never edit ONLY the alpha channel, leaving the rest undisturbed.
How can I edit only the alpha channel of an image in GIMP?
To edit the alpha channel, add a layer mask and apply the brush effect to the layer mask.
Under the Layers tab, right click the layer to edit and choose Add Layer Mask. A dialog box will ask you how you want the layer mask to be initialized. Presuming you'll start with a visible image and brush away the part you want transparent, the best choice is White (Full Opacity). Click Add.
Under the Layers tab, you should now see the white thumbnail of the layer mask, next to the thumbmail of the layer image. Click on the thumbnail to edit the layer mask. Choose your brush effect and the color black, and apply your brush effect.
If you switch to the Channels tab, you will see in real time how the alpha channel changes as you paint on the layer mask.
If you prefer to start with a transparent image and brush on the part you want visible, just start with a layer mask which is Black (Full Transparency) and apply your brush effect to the layer mask with the color white.
You can always switch back and forth between black and white paint to add or remove transparency on the layer mask.
When you want to return to editing the layer image instead of the layer mask, go back to the Layers tab and click on the thumbnail of the layer image.
Just a simple solution only if you want to change the transparency of the layer.
Choose eraser tool. There is an option to change the opacity of the eraser under tool options. Just adjust it to your requirement(say 75). Now apply the eraser.
Just another method I found using a buggy appimage (eraser and masks not usable):
If you open the channels and deactivate the RGB channels, you can make hard selections on the image and use the fill tool, editing the opacity for gray-values.
Just double click on the layer you want to change the transparency and change the opacity
Related
I am trying to add an image to a column on a TDbgrid that takes transparency into account. When drawing the image from a TImageList on the canvas in the DBGridDrawColumnCell procedure, I need the background of the image (the same color as the pixel in the lower left corner) to take on transparency. I want this transparency area to show the highlight color or non-highlight color, especially when themes are used, such as Aero. I have been able to accomplish this in older versions of Windows with color values of clHighlight or clWindow as the background color. But with Aero themes, it always paints a box behind the non-transparent part of the image instead of the gradient blue highlight color that Aero uses. How can I accomplish this?
I believe I am supposed to use alpha channel but I'm not sure how to do this from a TImageList to a canvas. I believe the cell is painted completely with the actual highlight color before I start drawing on the canvas in the cell. I just want to draw the non-transparency part of the image and leave the background.
I was able to finally determine how to display images on a dbgrid with transparency even if themes, such as Aero is used.
I used a regular TImageList and loaded the images that I needed to display on the dbgrid. In my case there were two and they were in icon (ico) format. Instead of transferring the image to a bitmap and then drawing it to the dbgrid canvas as most old code recommends, I simply used the following simple code in the DBGridDrawColumnCell procedure:
if DataCol=0 then
begin
if (MApptsConflict.Value='<none>') then
ImageIndex := 0
else
ImageIndex := 1;
ImageList.Draw(TDBGrid(Sender).Canvas,Rect.Left+2,Rect.Top+2,ImageIndex,True);
end;
This will draw directly to the dbgrid canvas from the TImageList which will give the desired transparency.
UPDATE: I tried it with bmp's loaded in the Timagelist and it worked too.
I am using PNG images as main image resource in my application. Since im using Delphi 7, i downloaded PNGImage lib and included it in project. I load images like this:
Form.image.Picture.LoadFromFile(PAnsiChar('\background.png'));
Image has transparent and semi transparent pixels on its border. The problem i get is that transparent pixels are filled with random zoomed part of my desktop with currently opened windows, while i expected to see what is actually located beneath form.
Additionally, form has this properties:
BorderStyle: bsNone;
TransparentColor: true;
Visible: false;
Here is a picture of current state (above black line) and desired:
Can this be fixed somehow or it is how delphi deals with transparency?
To have the form "shade" what's beneath it, use the forms AlphaBlend and AlphaBlendValue properties. The .png image doesn't have to be partially (alpha blended) transparent, but it can be.
If you want the form to be semi-transparent you use Alphablending, that's a limitation of Windows. In addition you can have a certain color fully transparent. In the following sample the forms color is clGray, which is also defined as the Transparent color property in addition to the Transparent property set to True. The image, aligned alClient, is 50% transparent, placed on a TImage which is set as transparent, but even so, it doesn't show up as semi-transparent unless you have AlphaBlending on. Again, this is a limitation of Windows. The best you can do is try with a fairly high value for AlphaBlendingValue (240..250) and a rather light image to find the right compromise.
This is my blue color image ,like this i want red color ,how to change red color image to glowing effect.,I Want image with glowing effect,can anybody help me how to do it.
This is image url ,for this image i need some glowing effect (image in gif format),how can i do it.
This is my image.
Your help will be appreciated
What you are really needing to do is create an animated GIF. If you have Photoshop, you can do this via these methods:
Method 1 - use existing blue graphic
Open blue CS3ZS.gif image in Photoshop
In the Layers panel, add an Adjustment layer above all other layers (select top layer, then in Adjustments panel select Hue icon)
Change the Hue to +160 (or whatever you like)
File > Save for web > select GIF
Method 2 - add glow animation to your red graphic
Open red TDnmm.jpg image in Photoshop
Layers panel > right-click Background layer > Layer from background
Select black background on stage and delete it - this will give you a transparent background
Then create another layer with the new "glow" effect
In the Timeline window use the frame-base animation mode
Create one frame with the glow layer visible and one frame with it hidden and a third frame with the glow visible again
Now select the first two frames and from the animation options panel, select "tween frames" and use 3 frames. Do the same for frames 2 & 3.
Select animation duration as Forever
Save for Web as a GIF
I am trying to build a windows phone live tile. I want some text on the tile that is the accent colour. What this means is that I need to draw some text on the tile that is transparent. I don't seem to be able to write in the transparent colour.
I have a User Control which is 173 by 173 pixels which I save as a png file. I use this png as the image for the live tile. The transparent bits of the image come out in the current accent colour.
Any ideas how to write in the transparent colour in xaml?
This behaviour is to be expected. In your original question you are effectively saying "Write invisible text on top of the image", and that's what you're getting (imagine writing in invisible ink on a photograph). You effectively need to do one of two things.
1) Figure out which pixels are part of the text you're writing, and "remove" them from the image so the background colour shows through, or
2) Write text in the background colour ({StaticResource PhoneAccentBrush})
EDIT
You can probably achieve what you need using an Opacity Mask. Apologies for only providing that as a link as I haven't done this myself.
I have a white png image, which is a part of a n icon.
I would like to change it's colour to get a coloured icon.
I know it is possible with hue/saturation setting, but don't know how to achieve a specific colour output.
I am using Axialis Icon Workshop (I have Photoshop CS5 also). The colourize option along with Hue, Saturation and Brightness adjustments will assist getting any colour output. But I specifically want colour #3366CC.
Is there a solution to convert my white png image to #3366CC coloured image?
This can be easily achieved if you go to the layers panel in Photoshop and select your icon layer. If the icon has a transparent background then select the fx button from the bottom of the layers panel and select color overlay or go to the menu at the top of the Photoshop screen and select Layer > Layer Style > Color Overlay. From the options box select the color box and put in 3366cc instead of the ffffff you have.
This should give you a coloured icon as desired. If this doesn't work let me know and I'll try to help.
You can go to layer style and choose color overlay, but that wont give you the color as you exactly want it, you can go a step further and hold the control key and click on the shape or the image you want to change the color, the shape will be selected, make a new layer on top of the shape or image that you want to change the color then fill in the color with the color that you choose in the layer property and set the mode to overlay, reduce the opacity to 50%. done