NOTICE توجه: این یک موضوع قدیمی است که آخرین پست ارسالی آن مربوط به 3412 روز قبل است . لطفا فقط پاسخ ها ، سوالات و درخواست های 100 درصد مرتبط را به آن ارسال کنید و برای درخواست ها و سوالات جدید موضوع جدیدی را ایجاد کنید
نمایش نتایج: از 1 به 9 از 9

موضوع: نمایش عکس

  1. #1
    مدیر انجمن cmuiran آواتار ها
    تاریخ عضویت
    Jan 2011
    نام
    پیمان غلامی
    نوشته ها
    1,071
    تشکر
    407
    تشکر شده 966 بار در 553 پست

    پیش فرض نمایش عکس

    سلام
    من یک عکسی رو به .h تبدیل کردم با استفاده از نرم افزار مهندس صادقی بعدش با این دستور نمایش دادم
    کد:
    LCD_DrawPicture(1,1,119,134,pic);
    فایل کتابخونشم اینه

    کد:
    void LCD_DrawPicture(uint16_t xsta , 
                         uint16_t ysta,
                         uint16_t width, 
                         uint16_t high, 
                         const uint8_t * pic)
    {                    
        uint32_t n;
        uint16_t *bitmap = (uint16_t *)pic;                                                           
        LCD_WindowMax (xsta, ysta, xsta+width-1, ysta+high-1);               
        LCD_WR_DATA_Prepare();                                                         
        n=(uint32_t)width*high;    
        while(n--){wr_dat(*bitmap++);}                                    
    }

    فایل هدری که تبدیل شده رو توی محل پروژه قرار دادم
    مشکلی که هست اینه کمپایل نمیشه و میکه نمیشناسه !

    به نظر شما مشکل از کجاس ؟!


    میکرو 1768
    ال سی دی 7 اینچ
    به نام آن کسی که به من بال پرواز داد تا اوج بگیرم

  2. # ADS
    Circuit advertisement
    تاریخ عضویت
    Always
    نام
    Advertising world
    نوشته ها
    Many
     

  3. #2

  4. کاربران : 2 تشکر کرده اند از شما mzarkoob برای ارسال این پست سودمند:


  5. #3
    مدیر انجمن cmuiran آواتار ها
    تاریخ عضویت
    Jan 2011
    نام
    پیمان غلامی
    نوشته ها
    1,071
    تشکر
    407
    تشکر شده 966 بار در 553 پست

    پیش فرض

    مهندس تشکر
    فقط یک سوال کوتاه داشتم
    حقیقت میترسیم از مهدی سوال بپرسیم

    اون مشکل حل شد
    مشکل جدید پیش اومد فکر کنم این نوع نوشتن اشتباه باشه
    کد:
    LCD_DrawPicture(1,1,119,134,*pic);
    اروری که میده اینه
    کد:
    ..\USER\MAIN\main.c(43): error:  #167: argument of type "unsigned short" is incompatible with parameter of type "const uint8_t *"
    فقط یک نکنه اقا یک عکس نشون بده کلی دعات میکنیم
    نمایش عکس منو کشت
    به نام آن کسی که به من بال پرواز داد تا اوج بگیرم

  6. #4
    مدیر انجمن cmuiran آواتار ها
    تاریخ عضویت
    Jan 2011
    نام
    پیمان غلامی
    نوشته ها
    1,071
    تشکر
    407
    تشکر شده 966 بار در 553 پست

    پیش فرض

    اقا مشکل حل شد ارور نمیده فقط اینکه عکسی که داره نمایش میده درستو حسابی نیست
    اصلا پیکسل هاش قاطی پاتی شده

    آقا یک مشکلی پیش اومده
    من اصلا لیبلی تو این دستور نمیزارم نمیدونم چرا اینو نمایش میده

    این دستور کلی که نوشتم
    کد:
    LCD_DrawPicture(1 , 1 , 119 , 134 , "");
    عکسم که درهم برهمه !!
    ویرایش توسط cmuiran : 16-12-2014 در ساعت 23:23
    به نام آن کسی که به من بال پرواز داد تا اوج بگیرم

  7. #5
    کاربر فعال
    تاریخ عضویت
    Feb 2012
    نام
    مصطفی
    نوشته ها
    273
    تشکر
    195
    تشکر شده 128 بار در 93 پست

    پیش فرض

    سلام
    دو تا نکته: یکی اینکه آرایه ای که عکس رو تبدیل کردید باید از نوع 8 بیتی باشه چون توی تابع 8 بیتی تعریف شده و دوم اینکه تعداد پیکسل های طول و عرض رو باید دقیق وارد کنید.

  8. کاربران : 2 تشکر کرده اند از شما mstkmn برای ارسال این پست سودمند:


  9. #6
    مدیر انجمن cmuiran آواتار ها
    تاریخ عضویت
    Jan 2011
    نام
    پیمان غلامی
    نوشته ها
    1,071
    تشکر
    407
    تشکر شده 966 بار در 553 پست

    پیش فرض

    سلام مهندس جان
    شما از چه نرم افزاری برای تبدیل استفاده میکنید
    برای من نمیتونی تعداد بیت مشخص کنی
    به نام آن کسی که به من بال پرواز داد تا اوج بگیرم

  10. #7
    مدیر انجمن cmuiran آواتار ها
    تاریخ عضویت
    Jan 2011
    نام
    پیمان غلامی
    نوشته ها
    1,071
    تشکر
    407
    تشکر شده 966 بار در 553 پست

    پیش فرض

    ببین یک مشکل من هنوز رفع نشد
    یعنی اینکه من چطور از این تابع استفاده کنم
    کد:
    void LCD_DrawPicture(uint16_t xsta , 
                         uint16_t ysta,
                         uint16_t width, 
                         uint16_t high, 
                         const uint8_t * pic)
    سوالی که هست اینه من وقتی دستور به این صورت مینویسم ارور نمیده
    کد:
    LCD_DrawPicture(10 , 10 , 119 , 134 , "pic");
    ولی مشکل اینجاست اگه pic پاک کنم و اینو "" بزارم بازم ارور نمیده !!!
    مشکل بدتر اینه که اگه من هر اسمی بزارم توش که اصلا به لیبل ربطی نداشته باشه بازم ارور نمیده مثلا مثل این حالت
    کد:
    LCD_DrawPicture(10 , 10 , 119 , 134 , "asdfsafd");


    در کل گیج شدم !!!
    نمیدونم چیکارش کنم و مشکل چییه
    اندازه عکس مطمئنم
    نوع تبدیل هم از نرم افزار مهندس محمدی استفاده کردم
    به نام آن کسی که به من بال پرواز داد تا اوج بگیرم

  11. #8
    مدیر انجمن mzarkoob آواتار ها
    تاریخ عضویت
    Jun 2011
    نام
    مهدی زرکوب
    نوشته ها
    2,902
    تشکر
    1,202
    تشکر شده 2,317 بار در 1,273 پست

    پیش فرض

    از نرم افزار Image2Lcd استفاده کنید عکس که bmp 24 بیت ذخیره کنید با paint و در این نرم افزار با همان پیکسل عکس بکنید تبدیل به 16 بیتی و فرمت c.

  12. کاربران : 2 تشکر کرده اند از شما mzarkoob برای ارسال این پست سودمند:


  13. #9
    کاربر فعال
    تاریخ عضویت
    Feb 2012
    نام
    مصطفی
    نوشته ها
    273
    تشکر
    195
    تشکر شده 128 بار در 93 پست

    پیش فرض

    شما باید یه آرایه به تابع ارسال کنی. مثلا عکس رو که تبدیل کردی یه آرایه داری به این شکل
    Image[]={....}
    بعد تابع رو اینطوری فراخونی می کنی:
    LCD_DrawPicture(10,10,119,134,Image)
    فقط باید دقت کنی که تعداد پیکسل ها رو دقیق وارد کنی.

  14. کاربران : 2 تشکر کرده اند از شما mstkmn برای ارسال این پست سودمند:


مجوز های ارسال و ویرایش

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