Delphi.Net 'de Database'deki resmi gösterme

Delphi .net ve .net ile ilgili konuları buraya yazabilirsiniz.
Cevapla
Nemesis2005
Üye
Mesajlar: 136
Kayıt: 18 Oca 2005 05:24
Konum: İzmir

Delphi.Net 'de Database'deki resmi gösterme

Mesaj gönderen Nemesis2005 »

Selam Delphi 2006 .Net Framework e yeni başladım. Bir web sayfasında seçilen stok_kodu ile bağıntılı olan resmi database' ten çağırıp göstermek istiyorum. Database dn çağırmaya kadar herşey tamam ama bu resmi Image nesnesinde göstermem gerekiyor. Yardımcı olursanız şimdiden sevinirim teşekkürler.
Her iyinin içinde bir Kötülük.Her Kötnün içide de bir iyilik vardır
Kullanıcı avatarı
lazio
Moderator
Mesajlar: 1527
Kayıt: 11 Tem 2003 04:55
Konum: İstanbul

Mesaj gönderen lazio »

Sanırım database e imajı binary olarak tutuyorsun..
Bunun için bir memorystream yada image nesnesine database deki image ı aktarıp ekrana binary olarak render etmen gerekiyor..
Muhtemelen aynı sayfada resim haricinde de bilgiler olacaktır, bu durumda da image ı ayrı bir sayfaya render edip, istediğin sayfaya bir iframe tag ı ile çağırabilirsin..
DeveloperToolKit

..::|YeşilMavi|::..
Nemesis2005
Üye
Mesajlar: 136
Kayıt: 18 Oca 2005 05:24
Konum: İzmir

Mesaj gönderen Nemesis2005 »

Bunu Masaüstü programcılıkta yapmıştım web programlama biraz farklı MemoryStream ile yapacağımı biliyorum. kodlamada biraz yardımcı olursanız sevinirim
Her iyinin içinde bir Kötülük.Her Kötnün içide de bir iyilik vardır
Kullanıcı avatarı
lazio
Moderator
Mesajlar: 1527
Kayıt: 11 Tem 2003 04:55
Konum: İstanbul

Mesaj gönderen lazio »

ResimGoster.aspx isimli bir sayfan olsun, bu sayfa sadece database deki resmin ID sini alıp database den resmi çeksin ve kendi üstüne bassın..

Kod: Tümünü seç

//  OnLoad
// bu sayfaya gelen ID li image ı datareader dan okudun..
byte[] iImage = (byte[])oDataReader["GraphicBlob"];    //  Database den Image ı Alıp Byte Array a attın..
MemoryStream oStream = new MemoryStream(iImage);
Bitmap oBitmap = new Bitmap(oStream);

//  Ekrana Render et..
Response.ContentType = "image/jpeg";
oBitmap.Save(Response.OutputStream, ImageFormat.Jpeg);
oBitmap.Dispose();
Bu sayfayı resmi göstereceğin sayfadan çağırıyorsun..

Kod: Tümünü seç

<img src="ResimGoster.aspx?ResimID=203"/>
Delphi.net ile aktif olarak yazmadığım için kodlar C#, sen Delphi.net e çevirirsin artıkın :D
DeveloperToolKit

..::|YeşilMavi|::..
Nemesis2005
Üye
Mesajlar: 136
Kayıt: 18 Oca 2005 05:24
Konum: İzmir

Mesaj gönderen Nemesis2005 »

Kod: Tümünü seç

MemoryStream stream = new MemoryStream ();
string mem = "Provider=Microsoft.Jet.OleDb.4.0;Data Source=" +MapPath("mertpar.mdb"));
OleDbConnection connection = new
OleDbConnection (@mem);
try
{
  connection.Open ();
  OleDbCommand command = new
  OleDbCommand ("SELECT BILGI FROM TBLEVRAK WHERE KOD='00390010'", connection);
  byte[] image = (byte[]) command.ExecuteScalar ();
  stream.Write (image, 0, image.Length);
  Bitmap bitmap = new Bitmap (stream);
  Response.ContentType = "image/JPeg";
  bitmap.Save (Response.OutputStream, ImageFormat.Jpeg);
 } 
 finally
{
connection.Close ();
stream.Close ();
}
Aynı Kodu Google'den zaten buldum ve çalıştırdım .birde Delphi ye çevirebilsem. :D
Her iyinin içinde bir Kötülük.Her Kötnün içide de bir iyilik vardır
Cevapla