c# Bitmap arka planı transparent(şeffaf) nasıl yapılır?

0

ilk bitmap 150X112 ikinicisi ise 150x150 ben ilkini ikinic bitmap uzerınde oluşturup geri kalan pixelleri şeffaf olmasını istiyorum. yani height 38 pixel fazla olucak bu fazlalıgışeffaf yapıp web sitesinde goruntulenınce gorunmesını ıstemıyorum. aşagıdakı kodda geri kalan pixel'leri beyaz yapıyor.

Bitmap bImage = new Bitmap(150, 122);
Bitmap bImage_trans = new Bitmap(150, 150);

for (int w = 0; w < bImage .Width; w++)
                {
                    for (int h = 0; h < bImage_trans.Height ; h++)
                    {
                        if (bImage .Height <= h)
                        {
                           bImage_trans .SetPixel(w, h, Color.FromArgb(255, 255, 255));
                        }
                        else
                        {
                            Color color = bImage .GetPixel(w, h);
                            bImage_trans .SetPixel(w, h, color);
                        }
                    }
                }

 

emkoroglu emkoroglu (327)
5 yıl önce sordu

Toplam 2 Cevap


0

 using (var gr = Graphics.FromImage(new Bitmap(1024,768)))
                {
                    gr.Clear(Color.Transparent);
                    gr.DrawImage(bImage, new Rectangle(0, 0, istenilen_width, istenilen_height));
                   bos_bitmap.Save("c:/result.png", ImageFormat.Png);
                }

 

emkoroglu emkoroglu (327)
5 yıl önce cevaplandı

0

Şöyle bir örnek fikir verebilir diye düşünüyorum

{

    // Resim dosyasından bitmap oluştur.
    Bitmap myBitmap = new Bitmap("Grapes.gif");

    //  myBitmap ekana çiz.
    e.Graphics.DrawImage(myBitmap, 0, 0, myBitmap.Width,
        myBitmap.Height);

    // Transparan yap
    myBitmap.MakeTransparent();

    // Transparan resmi ekrana çiz.
    e.Graphics.DrawImage(myBitmap, myBitmap.Width, 0,
        myBitmap.Width, myBitmap.Height);
}

Bu metod 

MakeTransparent();

Bitmap resmi transparan yapar.  Örnek MSDN'den alınmıştır.
 

cemkara cemkara (4195)
5 yıl önce cevaplandı

  • teşekkürler. problemi çözdüm emkoroglu 5 yıl önce

üyelik gerektirir

Cevap yazabilmek için üye girişi yapmalısınız.

Eğer uzmanim.net üyesiyseniz giriş yapabilirsiniz: üye girişi yap
uzmanim.net'e üye olmak çok kolaydır: hemen kayıt ol