http://www.microsoft.com/bizspark/
هزینه استفاده از دات نت فریم ورک چقدر است؟
http://www.microsoft.com/bizspark/
سپس بر روی گزینهی New Variable کلیک میکنیم:
اکنون در قسمت Name، نام نمایشی را وارد میکنیم که با تبدیل کردن Alias نیز تغییر میکند و میتواند متفاوت باشد. در ادامه در قسمت Type ،Type را بر روی Image میگذاریم و سپس بر روی دکمهی ok کلیک میکنیم. حال variable ایی را که ایجاد کردهایم، بر روی صفحه میکشیم و در محل مورد نظر قرار میدهیم و پروژه را save میکنیم. تا اینجا توانستهایم فایلی را بهوسیلهی stimulsoft ایجاد کنیم که دارای یک مقدار variable هست.
حال باید بتوانیم آن را در پروژهی خود استفاده کنیم. جهت استفادهی از آن، یک پروژهی از نوع برنامهی ویندوز (Windows Application) را ایجاد میکنیم و بر روی آن یک دکمه را جهت ارسال (چاپ گزارش) قرار میدهیم.
سپس به قسمت #C رفته و یک متد را تحت عنوان imageToByteArray مانند کدهای زیر ایجاد میکنیم:
public byte[] imageToByteArray(System.Drawing.Image imageIn) { MemoryStream ms =n ew MemoryStream(); imageIn.Save(ms, imageIn.RawFormat); return ms.ToArray(); }
var img = new System.Drawing.Bitmap(@"C:\\Users\\Ali\\Desktop\\multipage_tif_example.tif"); byte[] array1 = imageToByteArray(img); MemoryStream ms = new MemoryStream(array1); System.Drawing.Image image = System.Drawing.Image.FromStream(ms); StiReport rpt = new StiReport(); rpt.Load(Application.StartupPath + "\\Report(image).mrt"); rpt.Dictionary.Variables.Add("Image1", image); rpt.Compile(); rpt.Show();
var img = new System.Drawing.Bitmap(@"C:\\Users\\Ali\\Desktop\\multipage_tif_example.tif");
rpt.Load(Application.StartupPath + "\\Report(image).mrt");
باید دقت داشت جهت استفادهی از برنامه Stimulsoft بایستی dllهای مربوط به آن در پروژه قرارگرفته باشد و استفاده شده باشد.
void addImageFromStream(byte[] data) { if (data == null) return; using (var ms = new MemoryStream(data)) { var image = Image.FromStream(ms); _worksheet.Row(_row).Height = (image.Height + 1).Pixel2RowHeight(); _worksheet.Column(_col).Width = _worksheet.Pixel2ColumnWidth(image.Width + 1); var picture = _worksheet.Drawings.AddPicture("pic" + _row + _col, image); picture.From.Column = _col - 1; picture.From.Row = _row - 1; picture.From.ColumnOff = 2.Pixel2Mtu(); picture.From.RowOff = 2.Pixel2Mtu(); picture.SetSize(image.Width, image.Height); } }