设为首页 加入收藏

TOP

17.9.3 电子相册浏览模块的设计与实现(9)
2013-10-07 14:39:57 来源: 作者: 【 】 浏览:59
Tags:17.9.3 电子相册 浏览 模块 设计 实现

17.9.3  电子相册浏览模块的设计与实现(9)

代码实现如下:

  1. 01  if(m_turnType == type_right || m_turnType == type_head)  
  2. 02  {  
  3. 03      for( int i = 0;  i < 4; i++)  
  4. 04      {  
  5. 05          //载入4张相册页  
  6. 06          len = MultiByteToWideChar(CP_ACP, 0,  
  7. 07                              (LPCTSTR)m_strPage[i], -1, NULL, 0);  
  8. 08          wPage = new wchar_t[len];  
  9. 09          MultiByteToWideChar(CP_ACP, 0, (LPCTSTR)m_strPage[i], -1,   
  10.             wPage, len);   
  11. 10          m_pPage[i] = Bitmap::FromFile(wPage);  
  12. 11          delete []wPage;  
  13. 12          //载入后两张相片  
  14. 13          len = MultiByteToWideChar(CP_ACP, 0,   
  15. 14                               (LPCTSTR)m_strImage[m_curNum + i + 2],  
  16. 15                              -1, NULL, 0);  
  17. 16          wImage = new wchar_t[len];  
  18. 17          MultiByteToWideChar(CP_ACP, 0,   
  19. 18                          (LPCTSTR)m_strImage[m_curNum + i + 2],  
  20. 19                          -1, wImage, len);   
  21. 20          m_pImage[i] = Image::FromFile(wImage);  
  22. 21          delete []wImage;  
  23. 22          m_pGPage[i] = Graphics::FromImage(m_pPage[i]);  
  24. 23      }  
  25. 24      if(m_curNum >= m_photoNum - 3)                  //判断是否到封底  
  26. 25      {  
  27. 26          m_turnType = type_rightToend;  
  28. 27      }  
  29. 28      else  
  30. 29      {         
  31. 30          m_curNum += 2;                              //后移  
  32. 31      }  
  33. 32  }  

【代码解析】

第5~11行载入4张相册页面,第13~21行载入相册的后两张相片过程如图17.41所示。第24~27行判断是否翻到封底,如是则转换当前翻页状态,否则将当前相片标识后移。

③ 左翻页时计算载入前两张照片

左翻页及封底翻页载入相片的过程与右翻页恰好相反,首先将页面4的相片传递给页面2,将页面3的相片传递给相片1,然后载入前两张照片,分别传递给页面4与页面3。过程如图17.43所示。

 
(点击查看大图)图17.43  左翻页相册载入相片的过程

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇17.9.3 电子相册浏览模块的设计与.. 下一篇17.9.3 电子相册浏览模块的设计与..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: