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

موضوع: اضافه کردن عکس از روی SDCard به Button_Widget , Iconview_Widget ؟

  1. #1
    کاربر علاقه مند
    تاریخ عضویت
    Mar 2012
    نام
    محمد قمری خسرویه
    نوشته ها
    38
    تشکر
    1
    تشکر شده 13 بار در 11 پست

    Icon16 اضافه کردن عکس از روی SDCard به Button_Widget , Iconview_Widget ؟

    سلام
    چطور میتونم عکس ذخیره شده در SDCard رو بعنوان آیکون برای Button , IconView استفاده کنم؟
    البته با خواند از SDCard و نمایش روی LCD مشکلی ندارم
    کد زیر رو هم برای Button امتحان کردم اما...!!!
    کد:
    BUTTON_SetBMP(hItem,BUTTON_BI_UNPRESSED,&file_wr_ptr);
    file_wr_ptr یک متغییر از نوع فایله و در کد زیر مقدار میگیره
    کد:
    file_wr_ptr = fopen ("Alarm.bmp","r");

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

  3. #2
    مدیر انجمن
    تاریخ عضویت
    Jul 2007
    نام
    امید آزاده
    نوشته ها
    357
    تشکر
    177
    تشکر شده 279 بار در 133 پست

    پیش فرض

    سلام ...

    این کاریه که من انجام دادم و خوب نتیجه گرفتم .....
    مطمئن هستی که فایل رو درست خوندی ؟

    کد:
    res =  f_open( &fsrc , "0:/temp/Home.bmp" ,  FA_READ | FA_OPEN_EXISTING )  ;    
    res = f_read(&fsrc,  Home_Pic , fsrc.fsize ,&bbR ) ;
    hItem = WM_GetDialogItem(pMsg->hWin, ID_BUTTON_6);
    BUTTON_SetText(hItem, "");    
    BUTTON_SetBMP(hItem,0,Home_Pic);
    res = f_close(&fsrc);
    ویرایش توسط microprocesor_2002 : 24-07-2016 در ساعت 16:33

  4. #3
    کاربر علاقه مند
    تاریخ عضویت
    Mar 2012
    نام
    محمد قمری خسرویه
    نوشته ها
    38
    تشکر
    1
    تشکر شده 13 بار در 11 پست

    پیش فرض

    من کد زیر رو امتحان کردم جواب نداد؟؟؟
    کد:
    unsigned int NumBytesRead,NumBytes;
    		static char acBuffer[0x1000];
    
    	
    
    		hItemB1 = WM_GetDialogItem(pMsg->hWin, ID_BUTTON_1);
    		Fptr1 = fopen ("Alarm.bmp","r");
    		NumBytesRead = fread(acBuffer,sizeof(char),NumBytes,Fptr1); 
    		BUTTON_SetText(hItemB1, "mgh");
    		BUTTON_SetBMP(hItemB1,0,acBuffer);		
    		fclose(Fptr1);

  5. #4
    مدیر انجمن
    تاریخ عضویت
    Jul 2007
    نام
    امید آزاده
    نوشته ها
    357
    تشکر
    177
    تشکر شده 279 بار در 133 پست

    پیش فرض

    سلام ...
    acBuffer رو بصورت pointer تعریف کن ....
    شاید با کمبود فضا مواجه میشه .... منظورم اینه که حجم عکسی که داری بیشتر از 4 کیلو بایتی هستش که به متغیر ختصاص دادی....

  6. #5
    کاربر علاقه مند
    تاریخ عضویت
    Mar 2012
    نام
    محمد قمری خسرویه
    نوشته ها
    38
    تشکر
    1
    تشکر شده 13 بار در 11 پست

    Exclamation

    سلام
    از SDcard میتونم در Image Widget تصویر رو نشون بدم کدی که نوشتم اینه:
    کد:
    static void _cbDialog(WM_MESSAGE * pMsg) {
      const void * pData;
      WM_HWIN      hItem;
        BUTTON_Handle hButton;
      U32          FileSize;    
        unsigned int NumBytesRead,NumBytes;
        FILE *Fptr=NULL;
    
    
      switch (pMsg->MsgId) {
      case WM_INIT_DIALOG:
    
    
        hItem = pMsg->hWin;
        WINDOW_SetBkColor(hItem, 0);
    
    
        hItem = WM_GetDialogItem(pMsg->hWin, ID_IMAGE_0);
            Fptr = fopen ("LightOff.png","r");
            NumBytesRead = fread(acBuffer,sizeof(char),NumBytes,Fptr); 
            IMAGE_SetPNG(hItem, acBuffer, NumBytesRead);
            fclose(Fptr);
      default:
        WM_DefaultProc(pMsg);
        break;
        } 
    }
    اما با اضافه کردن چند خط دیگه عکس رو در Image Widget نشون نمیده !!!
    کد:
    static void _cbDialog(WM_MESSAGE * pMsg) {
      const void * pData;
      WM_HWIN      hItem;
        BUTTON_Handle hButton;
      U32          FileSize;    
        unsigned int NumBytesRead,NumBytes;
        FILE *Fptr=NULL;
         int     NCode;
      int     Id;
    
    
      switch (pMsg->MsgId) {
      case WM_INIT_DIALOG:
    
    
        hItem = pMsg->hWin;
        WINDOW_SetBkColor(hItem, 0);
    
    
        hItem = WM_GetDialogItem(pMsg->hWin, ID_IMAGE_0);
            Fptr = fopen ("LightOff.png","r");
            NumBytesRead = fread(acBuffer,sizeof(char),NumBytes,Fptr); 
            IMAGE_SetPNG(hItem, acBuffer, NumBytesRead);
            fclose(Fptr);
        break;
    
          case WM_NOTIFY_PARENT:
        Id    = WM_GetId(pMsg->hWinSrc);
        NCode = pMsg->Data.v;
        switch(Id) {
        case ID_BUTTON_0:
          switch(NCode) {
          case WM_NOTIFICATION_CLICKED:
    
            break;
          case WM_NOTIFICATION_RELEASED:
    
            break;
          }
          break;
        }
        break;
        
      default:
        WM_DefaultProc(pMsg);
        break;
        } 
    }

  7. تشکرها از این نوشته :


موضوعات مشابه

  1. [سوال] نمایش عکس بروی برد LPC1768 LANTIGER از روی MMC Card
    توسط sakhdari در انجمن LPC series (NXP)
    پاسخ: 9
    آخرين نوشته: 03-09-2015, 11:14
  2. [سوال] خواندن به صورت سکتور از sdcard
    توسط shahahmadi در انجمن LPC series (NXP)
    پاسخ: 2
    آخرين نوشته: 21-01-2015, 02:12
  3. پاسخ: 1
    آخرين نوشته: 11-05-2013, 00:12
  4. حل مشکل نیامدن منوی بوت برای نصب ویندوز روی برد s3c6410
    توسط shahrivar88 در انجمن میکرو کنترلر های 32 بیتی(arm)
    پاسخ: 1
    آخرين نوشته: 03-11-2012, 23:56
  5. مشکل با کتابخانه sdcard در کدویژن
    توسط mihman در انجمن AVR
    پاسخ: 21
    آخرين نوشته: 08-01-2012, 23:32

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

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