找回密码
 注册
搜索
查看: 1161|回复: 1

[讨论] MTK模拟器截图BUG

[复制链接]
发表于 2011-5-22 10:42:34 | 显示全部楼层 |阅读模式
当物理LCD的大小(320X240)与皮肤中(Profile_DualSIM.ini: MAIN_LCD_WIDTH = 220 MAIN_LCD_HEIGHT = 176)所给出的大小不一致的时候, 模拟器所截的位图是放大后Enlarge(或缩小后Shrink)的图象。修正之后的物理LCD截图应为:


/*****************************************************************************
* FUNCTION
*  get_mainlcd_hbitmap
* DESCRIPTION
*  Allocate a BITMAP object and save the main lcd content to it
* PARAMETERS
*  void
* RETURNS
*  HBITMAP
*****************************************************************************/
HBITMAP get_mainlcd_hbitmap(void)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/
    HBITMAP hb;
    HDC tempdc, hdc;
   
    //---> fix by symfund
    extern U32 *gdi_w32_lcd_buffer[2];
    BITMAPINFO bi;
    //<--- fix by symfund
   
    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    //EnterCriticalSection(&LCD_CS);               
    hdc        = GetDC(device.hwnd);
    tempdc = CreateCompatibleDC(hdc);
    hb = CreateCompatibleBitmap(hdc, LCD_WIDTH, LCD_HEIGHT);
    SelectObject(tempdc, hb);

    //---> fix by symfund
    bi.bmiHeader.biSize = sizeof(bi.bmiHeader);
    bi.bmiHeader.biWidth = LCD_WIDTH;
    bi.bmiHeader.biHeight = LCD_HEIGHT;
    bi.bmiHeader.biPlanes = 1;
    bi.bmiHeader.biBitCount = 32;
    bi.bmiHeader.biCompression = BI_RGB;
    bi.bmiHeader.biSizeImage = LCD_WIDTH * LCD_HEIGHT * 4;
    bi.bmiHeader.biClrUsed = 0;
    bi.bmiHeader.biClrImportant = 0;
       
    SetDIBits(NULL, hb, 0, LCD_HEIGHT, gdi_w32_lcd_buffer[0], &bi, DIB_RGB_COLORS);
    //<--- fix by symfund

    //UpdateWindow( device.hwnd );
    ReleaseDC(device.hwnd, hdc);
    ReleaseDC(device.hwnd, tempdc);
    //LeaveCriticalSection(&LCD_CS);       

    return hb;
}
发表于 2011-5-23 23:01:24 | 显示全部楼层
MTK维护那么大的软件有Bug很正常,按道理有source code的都应该自己解决的。
点评回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

Archiver|手机版|小黑屋|52RD我爱研发网 ( 沪ICP备2022007804号-2 )

GMT+8, 2024-12-27 09:44 , Processed in 0.062153 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表