Jump to content

wbobeirne

Newbies
  • Posts

    3
  • Joined

  • Last visited

Posts posted by wbobeirne

  1. You got impatient and wrote that in a half hour?!?

    Wow, you have some SERIOUS skills.

    While I'd love to indulge myself in that compliment, it's actually much simpler than I'd expected. You just run through each pixel of 2 images, mash up the ARGB values, and spit out a new image. If anyone's curious, here's the code:

    Bitmap newBmp = new Bitmap(bmpAlpha.Width, bmpAlpha.Height);
    
    for (int x = 0; x < bmpAlpha.Width; x++) {
        for (int y = 0; y < bmpAlpha.Height; y++) {
               Color alphaColor = bmpAlpha.GetPixel(x, y);
               Color colorColor = bmpColor.GetPixel(x, y);
               Color newColor = Color.FromArgb(alphaColor.A, colorColor.R, colorColor.G, colorColor.;
               newBmp.SetPixel(x, y, newColor);
        }
    }

    The .Net framework makes this problem super easy. The only downside is it only works with images of the same dimension, but that wouldn't be too hard to fix. However, doing this in Paint.Net is way more versatile, quick, and easy.

  2. Hey Paint.net forums,

    I've been having a hard time googling this question as it's hard to put in bite-size words. I'm looking for an easy way to take the alpha levels of each pixel on one layer, and then combine that with the color levels of each pixel on another layer. Let me give you an example. I want to take the alpha levels of image 1, replace the colors with the colors of image 2, and be left with image 3 (Only no background, because the alpha level should be zero!)

    http://i.imgur.com/gWA5K.png

    I achieved the effect you see in image 3 by using the "difference" blending, and then inverting the image. Problem is, I've still got the gradient as a background which doesn't really work because that icon needs to sit on anything.

    If anyone can help me out, I'd be eternally grateful!

×
×
  • Create New...