• 12-12-2013, 16:41:19
    #1
    Projemdeki bi aşama gereği 2 resmi birleştirmek istiyorum.Mantık olarak maske olarak kullanacağım resim png transparan diğer resmin üzerine eklemek istiyorum.İnternette bayağı aradım çalışan bir kod buldum ancak hatası var.PNG resmi büyütüp üzerine yazıyor.Örnek kod burada;
    Bitmap source1 = new Bitmap(Server.MapPath("~/kayitlar/buyukresim.jpg"));
    Bitmap source2 = new Bitmap(Server.MapPath("~/kayitlar/mask.png")); ;
    var target = new Bitmap(source1.Width, source1.Height, PixelFormat.Format32bppArgb);
    var graphics = Graphics.FromImage(target);
    graphics.CompositingMode = CompositingMode.SourceOver; // this is the default, but just to be clear
    graphics.DrawImage(source1, 0, 0);
    graphics.DrawImage(source2, 0,0);
    target.Save(Server.MapPath("~/kayitlar/sonuc.jpg"), ImageFormat.Png);

    Asıl resim 400x320 boyutunda bir resim png resimde 400x320 büyüklüğünde.İkisini birleştirdiğimde ise ilk resimde problem yok fakat mask.pngyi büyütüp 400x320 lik kısmını alıyor.İlk resim budur ;

    Maske budur ;
    ;
    sonuc
  • 14-12-2013, 02:29:23
    #2
    mucahitaktas adlı üyeden alıntı: mesajı görüntüle
    Projemdeki bi aşama gereği 2 resmi birleştirmek istiyorum.Mantık olarak maske olarak kullanacağım resim png transparan diğer resmin üzerine eklemek istiyorum.İnternette bayağı aradım çalışan bir kod buldum ancak hatası var.PNG resmi büyütüp üzerine yazıyor.Örnek kod burada;
    Bitmap source1 = new Bitmap(Server.MapPath("~/kayitlar/buyukresim.jpg"));
    Bitmap source2 = new Bitmap(Server.MapPath("~/kayitlar/mask.png")); ;
    var target = new Bitmap(source1.Width, source1.Height, PixelFormat.Format32bppArgb);
    var graphics = Graphics.FromImage(target);
    graphics.CompositingMode = CompositingMode.SourceOver; // this is the default, but just to be clear
    graphics.DrawImage(source1, 0, 0);
    graphics.DrawImage(source2, 0,0);
    target.Save(Server.MapPath("~/kayitlar/sonuc.jpg"), ImageFormat.Png);

    Asıl resim 400x320 boyutunda bir resim png resimde 400x320 büyüklüğünde.İkisini birleştirdiğimde ise ilk resimde problem yok fakat mask.pngyi büyütüp 400x320 lik kısmını alıyor.İlk resim budur ;

    Maske budur ;
    ;
    sonuc


            Bitmap source1 = new Bitmap(Server.MapPath("~/kayitlar/resim.jpg"));
            Bitmap source2 = new Bitmap(Server.MapPath("~/kayitlar/maske.png"));
            var target = new Bitmap(source2.Width, source2.Height, PixelFormat.Format32bppArgb);
            var graphics = Graphics.FromImage(target);
            source2.SetResolution(graphics.DpiX, graphics.DpiY);
            graphics.CompositingMode = CompositingMode.SourceOver;  
            graphics.DrawImage(source1, 0, 0);
            graphics.DrawImage(source2, 0, 0);
            target.Save(Server.MapPath("~/kayitlar/sonuc.jpg"), ImageFormat.Png);
    Şeklinde değiştirin düzelecektir.
  • 19-12-2013, 09:50:54
    #3
    alikarakoc93 adlı üyeden alıntı: mesajı görüntüle
            Bitmap source1 = new Bitmap(Server.MapPath("~/kayitlar/resim.jpg"));
            Bitmap source2 = new Bitmap(Server.MapPath("~/kayitlar/maske.png"));
            var target = new Bitmap(source2.Width, source2.Height, PixelFormat.Format32bppArgb);
            var graphics = Graphics.FromImage(target);
            source2.SetResolution(graphics.DpiX, graphics.DpiY);
            graphics.CompositingMode = CompositingMode.SourceOver;  
            graphics.DrawImage(source1, 0, 0);
            graphics.DrawImage(source2, 0, 0);
            target.Save(Server.MapPath("~/kayitlar/sonuc.jpg"), ImageFormat.Png);
    Şeklinde değiştirin düzelecektir.
    Çok çok teşekkür ederim sorunsuz çalışıyor.o kadar da bariz belli etmiş kendisini hata ben burdayım diye tabi tecrübe gerek.
  • 19-12-2013, 14:25:08
    #4
    mucahitaktas adlı üyeden alıntı: mesajı görüntüle
    Çok çok teşekkür ederim sorunsuz çalışıyor.o kadar da bariz belli etmiş kendisini hata ben burdayım diye tabi tecrübe gerek.
    Rica ederim kolay gelsin