نمایش نتایج 1 تا 6 از 6

نام تاپیک: مشکل در تبدیل آرایه بایتها به عکس

  1. #1
    کاربر دائمی آواتار winner1
    تاریخ عضویت
    تیر 1392
    محل زندگی
    خلخال
    پست
    738

    مشکل در تبدیل آرایه بایتها به عکس

    سلام بکس آقا من عکسی که تو بانک اطلاعاتی ذخیره کردم وقتی میام میخونمش و میخوام اون رو ارسال کنم به سمت استیمول ریپورت یه استثنا تولید میکنه که مسیجش اینه :
    A generic error occurred in GDI+.
    بعد این اتفاق یه جا دیگم میفته اونم وقتی که من عکس رو از بانک میخونم میدم به یه کنترل پیکچر باکس و بعد همون عکس پیکچر باکس رو دوباره میخوام به باینری تبدیل کنم بازم این استثنا میاد
    این کد های تبدیل من به باینری و بلعکس :

    /// <summary>
    /// Convert a image to byte type to save in databases
    /// </summary>
    /// <param name="imgData">a Image data value that passing image to convert</param>
    /// <returns>a array of byte datas that passing image bytes</returns>
    public static byte[] ConvertImageToByte(Image imgData)
    {
    if (imgData == null)
    {
    throw new NullReferenceException("Chech Image Value Your Data Is Null.");
    }
    byte[] imgArray;
    using (MemoryStream msImage = new MemoryStream())
    {
    imgData.Save(msImage, System.Drawing.Imaging.ImageFormat.Jpeg);
    imgArray = msImage.ToArray();
    }
    return imgArray;
    }
    /// <summary>
    /// Convert a array of bytes to a image data value
    /// </summary>
    /// <param name="imgArray">a array of byte data values that passing byte of image</param>
    /// <returns>a image data value that passing result image data value</returns>
    public static Image ConvertByteToImage(byte[] imgArray)
    {
    if (imgArray.Length == 0)
    {
    throw new NullReferenceException("Chech Image Array Value Your Array Is Null.");
    }
    Image imgResult;
    using (MemoryStream msImage = new MemoryStream(imgArray))
    {
    imgResult = Image.FromStream(msImage);
    }
    return imgResult;
    }

    دمتون گرم راهنمایی لطفا؟
    آخرین ویرایش به وسیله winner1 : پنج شنبه 18 تیر 1394 در 13:00 عصر

  2. #2

    نقل قول: مشکل با ارسال تصویری که از بانک خوندم به سمت گزارش (استیمول)

    من برای اینکه تتصویری که دارم در دیتابیس رو بفرستام برای چاپ این کار رو میکنم اول اون تصویر رو داخل کادر تصویر فرم نمایش میدم و بعد میام اون تصویر رو میگیرم و میفرستم به استیمول ولی یه ابزار تصویر قرار میدم و اسم روش میزارم و از طریق استیمول که تصویر رو بهش ارسال کردم نمایش میده.
    این کد ارسال تصویر برای چاپ
                (stiReport.GetComponentByName("pictureBox1") as StiImage).Image = pictureBox1.Image;

  3. #3
    کاربر دائمی آواتار winner1
    تاریخ عضویت
    تیر 1392
    محل زندگی
    خلخال
    پست
    738

    نقل قول: مشکل با ارسال تصویری که از بانک خوندم به سمت گزارش (استیمول)

    مسله اینجاست جز نمایش اون عکس تو کنترل پیکچرباکس سی شارپ هیچ جای دیگه نمیتونم استفاده کنم ( منظورم بایت هایی هست که از بانک خوندم و به تصویر تبدیل کردم) نه میتونم جایی ذخیرش کنم نه به جز پیکچر باکس سی شارپ جایی نمایش بدم همش استثنای زیر رو میده :
    A generic error occurred in GDI+.

  4. #4

    نقل قول: مشکل با ارسال تصویری که از بانک خوندم به سمت گزارش (استیمول)

    شما میخواهید اون تصویر رو که داخل کادر تصور هستش بیرون باز ذخیره کنید.یعنی روی ویندزتون میخواهید ذخیره کنید.

  5. #5

    نقل قول: مشکل با ارسال تصویری که از بانک خوندم به سمت گزارش (استیمول)

    در متد ConvertByteToImage چون از using استفاده کردی وقتی برنامه به خط return imgResult; میرسه دیگه استریم از بین رفته و چون تصویر imgResult به استریم وابسته هست با از بین رفتن استریم استثنا رخ میده.
    یک bitmap بساز و اونو return کن.

    using (MemoryStream memoryStream = new MemoryStream(imgArray))
    {
    imgResult = new Bitmap(Image.FromStream(memoryStream));
    }
    آخرین ویرایش به وسیله Mahmoud.Afrad : پنج شنبه 18 تیر 1394 در 19:02 عصر

  6. #6
    کاربر دائمی آواتار winner1
    تاریخ عضویت
    تیر 1392
    محل زندگی
    خلخال
    پست
    738

    نقل قول: مشکل با ارسال تصویری که از بانک خوندم به سمت گزارش (استیمول)

    نقل قول نوشته شده توسط Mahmoud.Afrad مشاهده تاپیک
    در متد ConvertByteToImage چون از using استفاده کردی وقتی برنامه به خط return imgResult; میرسه دیگه استریم از بین رفته و چون تصویر imgResult به استریم وابسته هست با از بین رفتن استریم استثنا رخ میده.
    یک bitmap از روی imgResult بساز و اونو return کن.

    using (MemoryStream memoryStream = new MemoryStream(imgArray))
    {
    imgResult = new Bitmap(Image.FromStream(memoryStream));
    }
    ممنون استاد حل شد
    آخرین ویرایش به وسیله Mahmoud.Afrad : پنج شنبه 18 تیر 1394 در 19:02 عصر

تاپیک های مشابه

  1. مشکل در تبدیل عکس picturebox به آرایه ای از بایت ها
    نوشته شده توسط adineh67 در بخش C#‎‎
    پاسخ: 5
    آخرین پست: جمعه 22 اسفند 1393, 19:51 عصر
  2. مشکل با تبدیل متن به عکس
    نوشته شده توسط Mohamad1362 در بخش ASP.NET Web Forms
    پاسخ: 1
    آخرین پست: شنبه 26 فروردین 1391, 10:54 صبح
  3. سوال: مشکل در تبدیل آرایه ای از بایت به رشته (حروف غیر لاتین) خیلی فوری
    نوشته شده توسط mohamadng در بخش Java ME : نگارش میکرو جاوا
    پاسخ: 5
    آخرین پست: جمعه 01 مهر 1390, 13:33 عصر
  4. سوال: مشکل با تبدیل عکس از BMP به JPG
    نوشته شده توسط ab1234 در بخش برنامه نویسی در 6 VB
    پاسخ: 1
    آخرین پست: جمعه 20 خرداد 1390, 08:29 صبح
  5. سوال: تبدیل آرایه به byte[] و بر عکس
    نوشته شده توسط mehdi_csharp در بخش C#‎‎
    پاسخ: 1
    آخرین پست: سه شنبه 28 دی 1389, 08:47 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •