Herkese hayırlı günler diliyorum.
Bir sorunum var ve bilgisi olan varsa yardım rica ediyorum.
https://i.hizliresim.com/8dvXD7.jpg
2.Butona bastığoımda bmp uzatntılı resmi yükleyebiliyorum sorun yok ama arkaplanı ile ilgili sıkıntım olduğu için kullanamıyorum
3. resimdeki gibi direk kod kısmında jpg olarak yüklediğimde de sorun yaşamıyorum
ama 1. resimdeki gibi alta butona basarak png uzantılı resim yüklediğimde ekrandaki hata mesajını veriyor
bununla ilgili yardım rica ediyorum.
Bu konuyu Devexpress in kendi forum sitesine de yazmıştım ama çözüm bulamadım.
https://www.devexpress.com/Support/Cent ... m-computer
freeman35: hiyeroglif kullanmıyoruz
program içinden seçilen png uzantılı dosyayı butona atama
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Re: program içinden seçilen png uzantılı dosyayı butona atama
Merhaba,
Öncelikle;
- DevExpress üyeliği olmayan kişiler verdiğiniz link içindeki mesajınızı okuyamayacaklardır.
- Ayrıca sitede İngilizce bilmeyen ancak size yardımcı olabilecek arkadaşlar da olabilir. Bu anlamda sorununuzu yeniden yazmanız gerekse de Türkçe olarak foruma sormanızda fayda var.
- Son olarak, sorunuzu resim olarak forum dışındaki bağlantıya yönlendirerek forum içinde arama yapan aynı soruna sahip kişiler doğru sonuca ulaşamayabilirler.
Sorunuzun cevabına gelince, okunan resim dosyasını TBitmap şekline çevirerek resimleri buton üzerinde gösterebilirsiniz. Bildiğiniz üzere BITMAP ve PNG farklı formatlardır. Eğer ileride Jpeg türünde dosyaları da yüklemek isterseniz aşağıdaki kod yine çalışacaktır.
Öncelikle;
- DevExpress üyeliği olmayan kişiler verdiğiniz link içindeki mesajınızı okuyamayacaklardır.
- Ayrıca sitede İngilizce bilmeyen ancak size yardımcı olabilecek arkadaşlar da olabilir. Bu anlamda sorununuzu yeniden yazmanız gerekse de Türkçe olarak foruma sormanızda fayda var.
- Son olarak, sorunuzu resim olarak forum dışındaki bağlantıya yönlendirerek forum içinde arama yapan aynı soruna sahip kişiler doğru sonuca ulaşamayabilirler.
Sorunuzun cevabına gelince, okunan resim dosyasını TBitmap şekline çevirerek resimleri buton üzerinde gösterebilirsiniz. Bildiğiniz üzere BITMAP ve PNG farklı formatlardır. Eğer ileride Jpeg türünde dosyaları da yüklemek isterseniz aşağıdaki kod yine çalışacaktır.
Kod: Tümünü seç
uses
PngImage,
Jpeg;
procedure TForm1.SpeedButton1Click(Sender: TObject);
var
Picture: TPicture;
Bitmap: TBitmap;
begin
Picture := TPicture.Create();
try
try
Picture.LoadFromFile('C:\Cop\Kahve.png');
except
on E: Exception do
begin
MessageDlg('Resim yüklenemiyor. Orjinal hata mesajı:' + E.Message, mtError, [mbOk], 0);
Exit();
end;
end;
Bitmap := TBitmap.Create();
try
Bitmap.Width := Picture.Width;
Bitmap.Height := Picture.Height;
Bitmap.Canvas.Draw(0, 0, Picture.Graphic);
cxButton1.Glyph.Assign(Bitmap);
finally
Bitmap.Free();
end;
finally
Picture.Free();
end;
end;
Re: program içinden seçilen png uzantılı dosyayı butona atama
Cevabınız ve zaman ayırdığınız için çok teşekkür ediyorum. Kontrol edip bilgilendirme yapacağım. Ayrıca değerli önerileriniz için de çok teşekkür ediyorum.
Re: program içinden seçilen png uzantılı dosyayı butona atama
Dediğiniz gibi sorunsuz çalışıyor fakat bunda da Transparan yapmak ile ilgili sorun var , Resmi bir türlü transparan yapamadım. Yardımcı olabilir misiniz?
Re: program içinden seçilen png uzantılı dosyayı butona atama
Merhaba,
Transparan bir bileşen özelliği değildir. Resimin arkaplan renginin transparan olarak kaydedilmesi ile elde edilen bir özelliktir. Resim arka plan rengi siyah olup transparan olarak keydedilebileceği gibi arka plan rengi beyaz olup transparan kaydetmek mümkündür. Tabi sadece beyaz ve siyah ile limitli değiliz gri veya başka bir renkte olabilir transparan rengimiz.
Bu noktada, sizin yüklemek istediğiniz resimlerin arka plan renkleri sabit olmalı ki siz bu arka plan rengini transparan hale getirip Bitmap'e çevirin.
Arka planı beyaz olan bir PNG resminin beyaz rengini transparan hale getirip kaydeden örneğe aşağıdaki bağlantıdan ulaşılabilir.
https://stackoverflow.com/questions/694 ... ansparency
Bu örnek "Vampyre Imaging Library" için geliştirilmiştir. Ancak mantığı aynı olacaktır.
Benim şahsi önerim ise kullanılacak resimleri bir resim düzenleme uygulaması ile arka planlarını transparan hale getirip uygulama içinde normal bir şekilde kullanmak yönünde olacaktır.
Transparan bir bileşen özelliği değildir. Resimin arkaplan renginin transparan olarak kaydedilmesi ile elde edilen bir özelliktir. Resim arka plan rengi siyah olup transparan olarak keydedilebileceği gibi arka plan rengi beyaz olup transparan kaydetmek mümkündür. Tabi sadece beyaz ve siyah ile limitli değiliz gri veya başka bir renkte olabilir transparan rengimiz.
Bu noktada, sizin yüklemek istediğiniz resimlerin arka plan renkleri sabit olmalı ki siz bu arka plan rengini transparan hale getirip Bitmap'e çevirin.
Arka planı beyaz olan bir PNG resminin beyaz rengini transparan hale getirip kaydeden örneğe aşağıdaki bağlantıdan ulaşılabilir.
https://stackoverflow.com/questions/694 ... ansparency
Bu örnek "Vampyre Imaging Library" için geliştirilmiştir. Ancak mantığı aynı olacaktır.
Benim şahsi önerim ise kullanılacak resimleri bir resim düzenleme uygulaması ile arka planlarını transparan hale getirip uygulama içinde normal bir şekilde kullanmak yönünde olacaktır.
Re: program içinden seçilen png uzantılı dosyayı butona atama
Çok teşekkür ederim.