PDA

View Full Version : عکس در stimulsoft



mostafa580
شنبه 06 خرداد 1402, 19:09 عصر
سلا خدمت دوستان

من در بانکم یه فیلد دارم که مسیر عکس مورد نظر در اون ذخیره میشه و در سی شارپ با دستورات اون عکس رو فراخونی میکنم
حالا چجوری باید در چاپ گزارشم اون مسیر رو به image در stimulsoft بدم که نمایش داده بشه؟
گزارش هامو با یه Stored Procedure فیلتر کردم و فراخونی میکنم فقط تو نمایش عکس موندم

سپاس.

پرستو پارسایی
شنبه 06 خرداد 1402, 20:54 عصر
سلا خدمت دوستان

من در بانکم یه فیلد دارم که مسیر عکس مورد نظر در اون ذخیره میشه و در سی شارپ با دستورات اون عکس رو فراخونی میکنم
حالا چجوری باید در چاپ گزارشم اون مسیر رو به image در stimulsoft بدم که نمایش داده بشه؟
گزارش هامو با یه Stored Procedure فیلتر کردم و فراخونی میکنم فقط تو نمایش عکس موندم

سپاس.

برای این کار، ابتدا باید یک فیلد از نوع Image به گزارش اضافه کنید. سپس با راست‌ کلیک بر روی فیلد Image گزینه Edit Value را انتخاب کنید. در پنجره باز شده، گزینه Formula را انتخاب کنید و سپس فرمول زیر را وارد کنید

Image.FromFile(Fields.MyImagePath.Value)

mostafa580
یک شنبه 07 خرداد 1402, 10:35 صبح
در stimulsoft یه فیلد اضافه میکنم ولی با راست کلیک فقط گزینه edit خالی هست نه edit value

mostafa580
یک شنبه 07 خرداد 1402, 11:13 صبح
من در واقع میخواستم از سی شارپ مسیر عکس رو به گزارش پاس بدم که نمیشه کد زیر:

StiImage im = new StiImage(); StiReport report = new StiReport();
report.Load("rpt2.mrt");
report["@ID"] = int.Parse(txt_nam.Text);
im.Image = Image.FromFile(txt_img .Text );
report["Image1"] = im.Image;
report.Compile();
report.Show();

mostafa580
یک شنبه 07 خرداد 1402, 11:36 صبح
مشکل با کد زیر حل شد گفتم بزارم شاید بدرد دوستان بخوره


public byte[] imageToByteArray(System.Drawing.Image imageIn) {
MemoryStream ms = new MemoryStream();
imageIn.Save(ms, imageIn.RawFormat);
return ms.ToArray();
}


private void buttonX1_Click(object sender, EventArgs e)
{
var img = new System.Drawing.Bitmap(txt_img .Text );
byte[] array1 = imageToByteArray(img);


MemoryStream ms = new MemoryStream(array1);
System.Drawing.Image image = System.Drawing.Image.FromStream(ms);





StiReport report = new StiReport();
report.Load("rpt2.mrt");
report["@ID"] = int.Parse(txt_nam.Text);


report .Dictionary.Variables.Add("image1",image );
report.Compile();
report.Show();
}

mostafa580
یک شنبه 07 خرداد 1402, 11:38 صبح
البته برای استفاده از کد بالا باید در گزارش یک New Variable از نوع Image تعریف کنیم