Kişi bilgileri gizlidir. Logo çalışanları görebilir.

Malezeme kartı resimlerini nasıl okumalı?

  Tiger/Logo Objects

Merhaba. Query nesnesiyle malzeme kartı bilgilerini alıyorum. Bu bilgileri resim bilgileriyle birlikte nasıl alabilirim? LDATA table-da resimle ilgili bir data kodu bulunmakta. Fakat bu kodu base64 decode-la normal resime dönüştüremiyorum. Resimler için hangi kodlama standartı uygulanmakta?




Servet.Karabas

aşağıda fotoğraf kayıt için bir örnek var. Yardımı olabileceğini düşünüyorum.


System.Drawing.Image nesnesi kullanıldı.


@"INSERT INTO LG_" + userCompany + "_FIRMDOC(INFOTYP,INFOREF,DOCTYP,DOCNR,LDATA) VALUES(" + kartTuru + "," + selectedKartRefId + ",0," + fotoKodu + ",@itemimage)";

 /*
 kart turu : 20 Malzeme Kartı
 fotokodu : 11 1nci foto, 12 2nci foto
 */
 private void saveFotoData(string kartTuru, string fotoKodu)
 {

 ConnectionConfig config = AppHelper.Instance().GetConnectionConfig();
 SqlCommand cmd = null;
 SqlConnection con = null;

 if (selectedKartRefId.Equals("") || selectedKartRefId.Equals("0"))
 {
 toolStripStatusLabel.Text = "Uyarı : malzeme ya da cari kart seçiniz";
 toolStripStatusLabel.BackColor = Color.Red;
 return;
 }

 if (userCompany.Equals(""))
 {
 toolStripStatusLabel.Text = "Uyarı : Firma bilgisi okunamadı.";
 toolStripStatusLabel.BackColor = Color.Red;
 return;
 }

 Image imgOriginal = pictureWebCam.Image;
 // küçültürülerek yazılır.

 Image img = null;
 if (wFoto == 1)
 {
 img = imgOriginal;
 }
 else
 {
 img = ScaleImage(imgOriginal, wFoto, hFoto);
 }

 // Test içindir. 
 //img.Save(@"c:\test.png", System.Drawing.Imaging.ImageFormat.Png);
 //imgOriginal.Save(@"c:\testOriginal.png", System.Drawing.Imaging.ImageFormat.Png);

 string conStr = @"Data Source=" + config.servername + ";Initial Catalog=" + config.dbname + ";User Id=" + config.username + ";Password=" + config.password + ";";

 try
 {
 cmd = new SqlCommand();
 con = new SqlConnection(conStr);
 cmd.Connection = con;
 Byte[] imageBytes = imageToByteArray(img);
 cmd.Parameters.AddWithValue("@itemimage", imageBytes);
 cmd.CommandText = @"SELECT count(1) from LG_" + userCompany + "_FIRMDOC WHERE (INFOTYP = " + kartTuru + ") AND (DOCNR = " + fotoKodu + ") AND (INFOREF = " + selectedKartRefId + ")";
 con.Open();
 int kayitSayisi = (int)cmd.ExecuteScalar(); // insert ya da update edileceğini anlama.
 
 if (kartTuru.Equals(KARTTURU_MALZEME))// malzeme tablosunda image göster alanı aktif et
 {
 cmd.CommandText = @"update LG_" + userCompany + "_ITEMS set IMAGEINC = 1 where LOGICALREF = " + selectedKartRefId;
 cmd.ExecuteNonQuery();
 cmd.CommandText = @"update LG_" + userCompany + "_ITEMS set IMAGE2INC = 1 where LOGICALREF = " + selectedKartRefId;
 cmd.ExecuteNonQuery();
 }
 else if (kartTuru.Equals(KARTTURU_CARI))// malzeme tablosunda image göster alanı aktif et
 {
 cmd.CommandText = @"update LG_" + userCompany + "_CLCARD set IMAGEINC = 1 where LOGICALREF = " + selectedKartRefId;
 cmd.ExecuteNonQuery();
 }
 if (kayitSayisi > 0)
 {
 // malzeme ya da cari kartı fotoğrafını güncelle
 cmd.CommandText = @"UPDATE LG_" + userCompany + "_FIRMDOC SET LDATA = @itemimage WHERE (INFOTYP = " + kartTuru + ") AND (DOCNR = " + fotoKodu + ") AND (INFOREF = " + selectedKartRefId + ")";
 toolStripStatusLabel.Text = selectedKartRefId + " id li " + (selectedFormId.Equals(MALZEME_FORM_ID) ? "MALZEME" : "CARİ") + " kartı "+ ( (fotoKodu == FOTO1_KODU) ? "1" : "2") + ". foto güncellendi. " + img.PhysicalDimension.Width + "x" + img.PhysicalDimension.Height + " " + (float)(imageBytes.Length / 1000) + " Kb";
 toolStripStatusLabel.BackColor = Form.DefaultBackColor;
 }
 else {
 // malzeme ya da cari kartı fotoğrafını ...._FIRMDOC tablosuna ekle
 cmd.CommandText = @"INSERT INTO LG_" + userCompany + "_FIRMDOC(INFOTYP,INFOREF,DOCTYP,DOCNR,LDATA) VALUES(" + kartTuru + "," + selectedKartRefId + ",0," + fotoKodu + ",@itemimage)";
 toolStripStatusLabel.Text = selectedKartRefId + " id li " + (selectedFormId.Equals(MALZEME_FORM_ID) ? "MALZEME" : "CARİ") + " kartı "+ ( (fotoKodu == FOTO1_KODU) ? "1" : "2") + ".foto kaydedildi. " + img.PhysicalDimension.Width + "x" + img.PhysicalDimension.Height + " " + (float)(imageBytes.Length / 1000) + " Kb"; ;
 toolStripStatusLabel.BackColor = Form.DefaultBackColor;
 }
 cmd.ExecuteNonQuery();
 con.Close();

 }
 catch (Exception ex)
 {
 toolStripStatusLabel.Text = "hata : foto kaydedilemedi.";
 toolStripStatusLabel.BackColor = Color.Red;
 MessageBox.Show(ex.ToString());
 }
 }




18/04/18 14:07

Cevap vermek için giriş yapmanız gerekmektedir.